.legal-page {
  width:min(100% - 32px, 980px);
  margin:0 auto;
  padding:clamp(1.5rem, 3vw, 3rem) 0 clamp(3rem, 6vw, 5rem);
}

.legal-hero,
.legal-content,
.contact-form,
.account-card {
  padding:clamp(1.1rem, 2.2vw, 1.6rem);
}

.legal-hero {
  margin-bottom:var(--tp-space-5);
}

.legal-content {
  display:grid;
  gap:var(--tp-space-5);
}

.legal-content section {
  display:grid;
  gap:var(--tp-space-2);
}

.legal-content h2,
.account-card h2 {
  margin:0;
  color:inherit;
  font-size:var(--tp-text-xl);
}

.legal-content p,
.legal-content li,
.account-card p,
.account-card li {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
  line-height:1.65;
}

body.tp-public-page .legal-content p,
body.tp-public-page .legal-content li,
body.tp-public-shell .legal-content p,
body.tp-public-shell .legal-content li {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
}

.legal-content ul,
.account-card ul {
  margin:0;
  padding-left:1.2rem;
}

.legal-facts-card dl,
.compact-legal-list,
.account-details {
  display:grid;
  gap:var(--tp-space-3);
  margin:0;
}

.legal-facts-card dl div,
.compact-legal-list div,
.account-details div {
  display:grid;
  grid-template-columns:minmax(140px, .35fr) minmax(0, 1fr);
  gap:var(--tp-space-3);
  align-items:baseline;
}

.legal-facts-card dt,
.compact-legal-list dt,
.account-details dt {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
  font-size:var(--tp-text-sm);
  font-weight:800;
}

.legal-facts-card dd,
.compact-legal-list dd,
.account-details dd {
  margin:0;
  color:inherit;
}

.legal-link-row {
  display:flex;
  flex-wrap:wrap;
  gap:var(--tp-space-3);
}

.legal-link-row a {
  color:var(--tp-primary);
  text-decoration:none;
  font-weight:800;
}

.contact-layout {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:18px;
  align-items:start;
}

.contact-form,
.account-delete-form,
.form-field {
  display:grid;
  gap:var(--tp-space-3);
}

.contact-form {
  display:grid;
  gap:14px;
}

.contact-form-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.contact-form-grid .form-field--full,
.contact-form-grid .checkbox-row,
.contact-form-grid .field-error,
.contact-form-grid .contact-actions {
  grid-column:1 / -1;
}

.contact-actions {
  display:flex;
  justify-content:flex-end;
}

.form-field span,
.checkbox-row span {
  font-weight:800;
}

.form-field input,
.form-field textarea,
.contact-form input,
.contact-form textarea {
  width:100%;
}

.checkbox-row {
  display:flex;
  align-items:flex-start;
  gap:var(--tp-space-2);
  color:inherit;
}

.checkbox-row input {
  width:auto;
  margin-top:.2rem;
}

.field-error {
  color:var(--tp-danger);
  font-weight:800;
}

.tp-hp-field {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.account-layout {
  display:grid;
  gap:18px;
  align-items:start;
}

.account-settings-layout {
  display:grid;
  gap:18px;
}

.account-card {
  display:grid;
  gap:14px;
  padding:18px 20px;
  border:1px solid var(--tp-theme-border, rgba(148, 163, 184, .22));
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 24rem),
    linear-gradient(180deg,
      color-mix(in srgb, var(--tp-theme-surface, #0f172a) 96%, var(--tp-theme-bg, #020617)),
      color-mix(in srgb, var(--tp-theme-surface-muted, #102033) 82%, var(--tp-theme-bg, #020617))
    );
  color:var(--tp-theme-text, #e5eefb);
  box-shadow:0 18px 48px rgba(2, 8, 23, .22);
}

.account-overview-card,
.account-security-card,
.account-data-management-card {
  width:100%;
}

.account-card-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.account-card-heading h2 {
  margin:.15rem 0 0;
}

.account-overview-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);
  gap:16px;
}

.account-overview-panel,
.account-data-panel {
  min-width:0;
  padding:14px;
  border:1px solid color-mix(in srgb, var(--tp-theme-border) 78%, transparent);
  border-radius:18px;
  background:color-mix(in srgb, var(--tp-theme-surface-muted) 72%, var(--tp-theme-bg));
}

.account-overview-panel h3,
.account-data-panel h2 {
  margin:0;
  color:inherit;
  font-size:var(--tp-text-lg);
}

.account-security-card {
  padding:18px 20px;
}

.account-password-form {
  display:grid;
  gap:14px;
}

.account-password-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.account-password-actions {
  display:flex;
  justify-content:flex-end;
}

.account-password-actions .button,
.account-password-actions .tp-button {
  min-width:220px;
}

.account-data-grid {
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  gap:16px;
  align-items:start;
}

.account-danger-card {
  border-color:color-mix(in srgb, var(--tp-danger) 42%, var(--tp-theme-border));
}

.account-danger-card ul {
  margin:.4rem 0 0;
  padding-left:1.2rem;
}

.account-delete-form {
  display:grid;
  gap:10px;
}

.account-details {
  gap:10px;
}

.account-details div {
  grid-template-columns:minmax(130px, .42fr) minmax(0, 1fr);
  gap:12px;
}


.account-deleted-banner {
  margin-top:var(--tp-space-5);
}

@media (max-width: 980px) {
  .account-overview-grid,
  .account-data-grid,
  .account-password-grid {
    grid-template-columns:1fr;
  }

  .account-password-actions {
    justify-content:stretch;
  }

  .account-password-actions .button,
  .account-password-actions .tp-button {
    width:100%;
    min-width:0;
  }
}

@media (max-width: 820px) {
  .contact-layout,
  .contact-form-grid {
    grid-template-columns:1fr;
  }

  .legal-facts-card dl div,
  .compact-legal-list div,
  .account-details div {
    grid-template-columns:1fr;
    gap:.25rem;
  }
}


/* Theme selector: the radio state itself is the source of truth, so the
   selection is visible immediately before saving. */




.account-subscription-layout {
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  gap:18px;
  align-items:stretch;
}

.account-subscription-card-header {
  display:flex;
  justify-content:space-between;
  gap:var(--tp-space-3);
  align-items:flex-start;
}

.account-subscription-card-header h2 {
  margin-top:var(--tp-space-1);
  font-size:clamp(1.55rem, 2.8vw, 2.15rem);
}

.account-subscription-badge {
  align-self:flex-start;
}

.account-subscription-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--tp-space-3);
}

.account-subscription-info {
  margin:0;
}

@media (max-width: 860px) {
.account-subscription-layout {
    grid-template-columns:1fr;
  }

  .account-subscription-card-header {
    display:grid;
  }
}


.account-subscription-upgrade-card {
  display:grid;
  gap:var(--tp-space-4);
  align-content:start;
}

.account-subscription-status-card,
.account-subscription-upgrade-card,
.account-subscription-comparison-card {
  min-width:0;
}

.account-subscription-comparison-card {
  grid-column:1 / -1;
}

.account-subscription-upgrade-copy {
  margin:0;
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
  font-weight:750;
  line-height:1.55;
}

.account-subscription-upgrade-actions {
  margin-top:0;
}

.account-subscription-upgrade-actions small {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
}

.account-subscription-offer-head h2 {
  font-size:clamp(1.55rem, 2.5vw, 2.15rem);
}

.account-subscription-plan-grid {
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
}

.account-subscription-plan-grid .billing-v2-plan-header h3 {
  margin:0;
  color:inherit;
  font-size:clamp(2rem, 3vw, 2.75rem);
  line-height:.96;
  letter-spacing:-.07em;
}

@media (max-width: 1040px) {
.account-subscription-plan-grid {
    grid-template-columns:1fr;
  }
}


/* Billing pages */
.billing-pricing-v2{
  width:100%;
  max-width:1248px;
  margin:0 auto;
  display:grid;
  gap:22px;
  isolation:isolate;
}
.billing-v2-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(340px, .95fr);
  gap:24px;
  min-height:460px;
  padding:clamp(24px, 4vw, 46px);
  border:1px solid rgba(148,163,184,.24);
  border-radius:34px;
  background:
    radial-gradient(circle at 12% 8%, rgba(37,99,235,.28), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(34,197,94,.18), transparent 28%),
    linear-gradient(135deg, #07111f 0%, #0b1424 46%, #0f172a 100%);
  box-shadow:0 34px 88px rgba(15,23,42,.28);
  color:#fff;
}
.billing-v2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 35% 25%, #000 0%, transparent 62%);
  opacity:.55;
  pointer-events:none;
}
.billing-v2-hero::after{
  content:"";
  position:absolute;
  left:clamp(22px, 4vw, 48px);
  right:clamp(22px, 4vw, 48px);
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.52), transparent);
  pointer-events:none;
}
.billing-v2-hero-copy,
.billing-v2-product-panel{ position:relative; z-index:1; }
.billing-v2-hero-copy{
  display:grid;
  align-content:center;
  gap:18px;
  max-width:760px;
}
.billing-v2-kicker{
  display:inline-flex;
  width:max-content;
  min-height:30px;
  align-items:center;
  padding:7px 12px;
  border:1px solid rgba(147,197,253,.34);
  border-radius:999px;
  background:rgba(37,99,235,.18);
  color:#dbeafe;
  font-size:12px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.billing-v2-hero h1{
  margin:0;
  max-width:760px;
  color:#fff;
  font-size:clamp(38px, 5vw, 70px);
  line-height:.9;
  letter-spacing:-.075em;
}
.billing-v2-lead{
  margin:0;
  max-width:680px;
  color:rgba(226,232,240,.86);
  font-size:clamp(16px, 1.35vw, 20px);
  line-height:1.55;
  font-weight:650;
}
.billing-v2-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:6px;
}
.billing-v2-inline-form{ margin:0; display:inline-flex; }
.billing-v2-full-width-form{ width:100%; }
.billing-v2-primary-cta,
body.tp-shell-v2-page .billing-v2-primary-cta{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border:1px solid rgba(96,165,250,.82);
  border-radius:14px;
  background:linear-gradient(135deg, #2563eb, #38bdf8);
  color:#fff;
  font-size:14px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(37,99,235,.32);
}
.billing-v2-primary-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  transform:translateX(-110%);
  transition:transform .28s ease;
}
.billing-v2-primary-cta:hover::before{ transform:translateX(110%); }
.billing-v2-primary-cta[disabled]{
  opacity:.58;
  cursor:not-allowed;
  box-shadow:none;
}
.billing-v2-secondary-cta,
body.tp-shell-v2-page .billing-v2-secondary-cta{
  min-height:46px;
  padding:12px 16px;
  border:1px solid rgba(226,232,240,.24);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:#e2e8f0;
  backdrop-filter:blur(16px);
}
.billing-v2-payment-note{
  flex-basis:100%;
  color:rgba(203,213,225,.72);
  font-size:12px;
  font-weight:750;
}
.billing-v2-hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}
.billing-v2-hero-points span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(226,232,240,.16);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#e2e8f0;
  font-size:13px;
  font-weight:850;
  line-height:1.15;
}
.billing-v2-product-panel{
  min-height:380px;
  display:grid;
  place-items:center;
}
.billing-v2-panel-glow{
  position:absolute;
  inset:8% 7% 8% 10%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(56,189,248,.32), transparent 68%);
  filter:blur(4px);
  opacity:.82;
}
.billing-v2-preview-card{
  position:absolute;
  border:1px solid rgba(226,232,240,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
  border-radius:24px;
  color:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.30);
  backdrop-filter:blur(18px);
}
.billing-v2-preview-main{
  position:relative;
  width:min(100%, 390px);
  min-height:265px;
  padding:22px;
  display:grid;
  align-content:space-between;
}
.billing-v2-preview-topline,
.billing-v2-preview-float{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.billing-v2-preview-topline span,
.billing-v2-preview-float span{
  color:rgba(226,232,240,.72);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.billing-v2-preview-topline strong,
.billing-v2-preview-float strong{
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.billing-v2-preview-metric{
  display:grid;
  gap:5px;
}
.billing-v2-preview-metric strong{
  font-size:52px;
  line-height:.9;
  letter-spacing:-.07em;
}
.billing-v2-preview-metric span{
  color:#cbd5e1;
  font-weight:850;
}
.billing-v2-mini-profile{
  height:88px;
  display:flex;
  align-items:end;
  gap:7px;
  padding:0 2px;
}
.billing-v2-mini-profile span{
  flex:1;
  min-width:18px;
  border-radius:999px 999px 10px 10px;
  background:linear-gradient(180deg, #38bdf8, #2563eb);
  box-shadow:0 12px 28px rgba(37,99,235,.24);
}
.billing-v2-mini-profile span:nth-child(1){ height:32%; opacity:.6; }
.billing-v2-mini-profile span:nth-child(2){ height:62%; opacity:.75; }
.billing-v2-mini-profile span:nth-child(3){ height:46%; opacity:.7; }
.billing-v2-mini-profile span:nth-child(4){ height:88%; }
.billing-v2-mini-profile span:nth-child(5){ height:58%; opacity:.82; }
.billing-v2-mini-profile span:nth-child(6){ height:76%; opacity:.9; }
.billing-v2-preview-float{
  min-width:210px;
  padding:14px 16px;
}
.billing-v2-preview-float-one{ top:36px; right:0; transform:rotate(2deg); }
.billing-v2-preview-float-two{ left:0; bottom:62px; transform:rotate(-3deg); }
.billing-v2-preview-float-three{ right:26px; bottom:10px; transform:rotate(1deg); }
.billing-v2-notice{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 12px;
  align-items:center;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid var(--tp-v2-border);
  background:var(--tp-theme-surface);
  box-shadow:var(--tp-v2-shadow-soft);
}
.billing-v2-notice strong{ color:var(--tp-theme-text); font-size:13px; font-weight:950; }
.billing-v2-notice span{ color:var(--tp-theme-text-muted); font-size:13px; font-weight:750; }
.billing-v2-notice-warning{ border-color:rgba(249,115,22,.26); background:rgba(234,88,12,.14); }
.billing-v2-notice-muted{ border-color:var(--tp-theme-border); background:color-mix(in srgb, var(--tp-theme-surface-muted) 92%, var(--tp-theme-bg)); }
.billing-v2-current{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1px;
  padding:0;
  overflow:hidden;
  border-radius:24px;
}
.billing-v2-current > div{
  display:grid;
  gap:5px;
  padding:16px;
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--tp-theme-surface) 94%, var(--tp-theme-bg)),
    color-mix(in srgb, var(--tp-theme-surface-muted) 88%, var(--tp-theme-bg))
  );
}
.billing-v2-current span{
  color:var(--tp-theme-text-muted);
  font-size:11px;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.billing-v2-current strong{
  color:var(--tp-theme-text);
  font-size:17px;
  font-weight:950;
}
.billing-v2-plan-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:20px;
  align-items:stretch;
}
.billing-v2-plan-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:18px;
  align-content:start;
  padding:24px;
  border-radius:30px;
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--tp-theme-surface) 95%, var(--tp-theme-bg)),
    color-mix(in srgb, var(--tp-theme-surface-muted) 88%, var(--tp-theme-bg))
  );
  box-shadow:0 22px 54px rgba(2,8,23,.20);
}
.billing-v2-plan-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 86% 6%, rgba(37,99,235,.12), transparent 30%);
}
.billing-v2-plan-pro{
  border-color:rgba(96,165,250,.65);
  background:
    radial-gradient(circle at 100% 0%, rgba(59,130,246,.16), transparent 32%),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--tp-primary) 18%, var(--tp-theme-surface)),
      color-mix(in srgb, var(--tp-theme-surface) 90%, var(--tp-theme-bg))
    );
  box-shadow:0 28px 74px rgba(37,99,235,.17);
}
.billing-v2-pro-ribbon{
  position:absolute;
  top:18px;
  right:-44px;
  z-index:2;
  min-width:170px;
  padding:8px 20px;
  transform:rotate(35deg);
  background:linear-gradient(135deg, #2563eb, #38bdf8);
  color:#fff;
  font-size:11px;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 14px 32px rgba(37,99,235,.28);
}
.billing-v2-plan-header,
.billing-v2-plan-quota,
.billing-v2-feature-list,
.billing-v2-plan-note,
.billing-v2-card-actions{ position:relative; z-index:1; }
.billing-v2-plan-header{ display:grid; gap:10px; }
.billing-v2-plan-tag{
  display:inline-flex;
  width:max-content;
  min-height:30px;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(96,165,250,.34);
  background:rgba(56,189,248,.14);
  color:#dbeafe;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.billing-v2-plan-tag-pro{ background:rgba(56,189,248,.16); color:#bfdbfe; border-color:rgba(96,165,250,.38); }
.billing-v2-plan-header h2{
  margin:0;
  color:var(--tp-theme-text);
  font-size:clamp(32px, 3vw, 46px);
  line-height:.96;
  letter-spacing:-.07em;
}
.billing-v2-plan-header p{
  margin:0;
  max-width:520px;
  color:var(--tp-theme-text-muted);
  font-size:15px;
  font-weight:700;
  line-height:1.5;
}
.billing-v2-plan-quota{
  display:grid;
  gap:4px;
  padding:16px;
  border:1px solid var(--tp-theme-border);
  border-radius:22px;
  background:color-mix(in srgb, var(--tp-theme-surface-muted) 92%, var(--tp-theme-bg));
}
.billing-v2-plan-quota span{
  color:var(--tp-theme-text-muted);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.billing-v2-plan-quota strong{
  color:var(--tp-theme-text);
  font-size:21px;
  font-weight:950;
  line-height:1;
}
.billing-v2-plan-quota-pro{
  border-color:rgba(96,165,250,.38);
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--tp-primary) 16%, var(--tp-theme-surface)),
    color-mix(in srgb, var(--tp-theme-surface) 90%, var(--tp-theme-bg))
  );
}
.billing-v2-feature-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.billing-v2-feature-list li{
  position:relative;
  min-height:24px;
  padding-left:30px;
  color:var(--tp-theme-text);
  font-size:14px;
  font-weight:850;
  line-height:1.35;
}
.billing-v2-feature-list li::before{
  content:"";
  position:absolute;
  top:1px;
  left:0;
  width:21px;
  height:21px;
  border-radius:50%;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), transparent),
    rgba(37,99,235,.18);
  box-shadow:inset 0 0 0 6px #2563eb;
}
.billing-v2-feature-list-pro li::before{ background:rgba(56,189,248,.22); box-shadow:inset 0 0 0 6px #0ea5e9; }
.billing-v2-plan-note{
  margin:0;
  color:var(--tp-theme-text-muted);
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}
.billing-v2-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:auto;
}
.billing-v2-card-actions-pro{ display:grid; grid-template-columns:1fr; }
.billing-v2-card-actions-pro small{
  color:var(--tp-theme-text-muted);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.billing-v2-compare{
  display:grid;
  gap:18px;
  padding:24px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:30px;
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--tp-theme-surface) 95%, var(--tp-theme-bg)),
    color-mix(in srgb, var(--tp-theme-surface-muted) 88%, var(--tp-theme-bg))
  );
  box-shadow:0 22px 54px rgba(2,8,23,.18);
}
.billing-v2-section-head{ display:grid; gap:7px; }
.billing-v2-section-head span{
  color:#2563eb;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.billing-v2-section-head h2{
  margin:0;
  color:var(--tp-theme-text);
  font-size:clamp(26px, 2.5vw, 38px);
  line-height:1;
  letter-spacing:-.055em;
}
.billing-v2-section-head p{
  margin:0;
  max-width:760px;
  color:var(--tp-theme-text-muted);
  font-size:15px;
  font-weight:700;
  line-height:1.5;
}
.billing-v2-compare-table{
  display:grid;
  overflow:hidden;
  border:1px solid var(--tp-theme-border);
  border-radius:22px;
  background:var(--tp-theme-surface);
}
.billing-v2-compare-row{
  display:grid;
  grid-template-columns:minmax(180px, 1.1fr) minmax(120px, .75fr) minmax(120px, .75fr);
}
.billing-v2-compare-row > div{
  padding:15px 16px;
  border-bottom:1px solid var(--tp-theme-border);
  color:var(--tp-theme-text);
  font-size:14px;
  font-weight:850;
}
.billing-v2-compare-row:last-child > div{ border-bottom:0; }
.billing-v2-compare-row > div:not(:first-child){ border-left:1px solid var(--tp-theme-border); }
.billing-v2-compare-row-head{ background:color-mix(in srgb, var(--tp-theme-surface-muted) 92%, var(--tp-theme-bg)); }
.billing-v2-compare-row-head > div{
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.billing-v2-compare-row [role="rowheader"]{ color:var(--tp-theme-text-muted); }
@media (max-width: 1040px){
.billing-v2-hero,
.billing-v2-plan-grid{
    grid-template-columns:1fr;
  }
.billing-v2-product-panel{ min-height:330px; }

}
@media (max-width: 760px){
.billing-pricing-v2{ gap:16px; }
.billing-v2-hero,
.billing-v2-plan-card,
.billing-v2-compare{
    border-radius:24px;
    padding:20px;
  }
.billing-v2-hero{ min-height:auto; }
.billing-v2-product-panel{ min-height:285px; }
.billing-v2-preview-main{ min-height:230px; padding:18px; }
.billing-v2-preview-float{ min-width:170px; padding:12px; }
.billing-v2-preview-float-one{ top:18px; right:0; }
.billing-v2-preview-float-two{ left:0; bottom:48px; }
.billing-v2-preview-float-three{ right:10px; bottom:4px; }
.billing-v2-current{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.billing-v2-compare-row{
    grid-template-columns:minmax(0, 1.1fr) minmax(92px, .7fr) minmax(92px, .7fr);
  }
.billing-v2-compare-row > div{ padding:12px 10px; font-size:13px; }

}
@media (max-width: 560px){
.billing-v2-hero-actions,
.billing-v2-card-actions{ display:grid; grid-template-columns:1fr; }
.billing-v2-hero-points{ display:grid; grid-template-columns:1fr; }
.billing-v2-product-panel{ display:none; }
.billing-v2-current{ grid-template-columns:1fr; }
.billing-v2-compare-table{ border-radius:18px; }
.billing-v2-compare-row{ grid-template-columns:minmax(0, 1fr) 86px 86px; }

}
.billing-pricing-v2 .billing-v2-hero{
  grid-template-columns:minmax(0, 1fr);
  min-height:auto;
}
.billing-pricing-v2 .billing-v2-hero-copy{
  max-width:860px;
}
body.tp-public-shell .billing-pricing-v2,
body.tp-shell-v2-page .billing-pricing-v2{
  color:#e5eefb;
}
body.tp-public-shell .billing-v2-plan-card,
body.tp-public-shell .billing-v2-compare,
body.tp-public-shell .billing-v2-current,
body.tp-shell-v2-page .billing-v2-plan-card,
body.tp-shell-v2-page .billing-v2-compare,
body.tp-shell-v2-page .billing-v2-current{
  border-color:rgba(148,163,184,.26);
  background:
    radial-gradient(circle at 100% 0%, rgba(37,99,235,.14), transparent 30%),
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(7,17,31,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
body.tp-public-shell .billing-v2-plan-pro,
body.tp-shell-v2-page .billing-v2-plan-pro{
  border-color:rgba(56,189,248,.52);
  background:
    radial-gradient(circle at 100% 0%, rgba(56,189,248,.18), transparent 32%),
    linear-gradient(180deg, rgba(13,28,52,.98), rgba(7,17,31,.99));
}
body.tp-public-shell .billing-v2-current > div,
body.tp-shell-v2-page .billing-v2-current > div{
  background:rgba(255,255,255,.035);
  border-color:rgba(148,163,184,.22);
}
body.tp-public-shell .billing-v2-plan-header h2,
body.tp-public-shell .billing-v2-plan-quota strong,
body.tp-public-shell .billing-v2-feature-list li,
body.tp-public-shell .billing-v2-section-head h2,
body.tp-public-shell .billing-v2-compare-row > div,
body.tp-public-shell .billing-v2-current strong,
body.tp-public-shell .billing-v2-notice strong,
body.tp-shell-v2-page .billing-v2-plan-header h2,
body.tp-shell-v2-page .billing-v2-plan-quota strong,
body.tp-shell-v2-page .billing-v2-feature-list li,
body.tp-shell-v2-page .billing-v2-section-head h2,
body.tp-shell-v2-page .billing-v2-compare-row > div,
body.tp-shell-v2-page .billing-v2-current strong,
body.tp-shell-v2-page .billing-v2-notice strong{
  color:#f8fafc;
}
body.tp-public-shell .billing-v2-plan-header p,
body.tp-public-shell .billing-v2-plan-note,
body.tp-public-shell .billing-v2-card-actions-pro small,
body.tp-public-shell .billing-v2-section-head p,
body.tp-public-shell .billing-v2-current span,
body.tp-public-shell .billing-v2-notice span,
body.tp-shell-v2-page .billing-v2-plan-header p,
body.tp-shell-v2-page .billing-v2-plan-note,
body.tp-shell-v2-page .billing-v2-card-actions-pro small,
body.tp-shell-v2-page .billing-v2-section-head p,
body.tp-shell-v2-page .billing-v2-current span,
body.tp-shell-v2-page .billing-v2-notice span{
  color:#b8c7dc;
}
body.tp-public-shell .billing-v2-plan-quota,
body.tp-public-shell .billing-v2-compare-table,
body.tp-public-shell .billing-v2-compare-row > div,
body.tp-public-shell .billing-v2-compare-row-head,
body.tp-public-shell .billing-v2-notice,
body.tp-shell-v2-page .billing-v2-plan-quota,
body.tp-shell-v2-page .billing-v2-compare-table,
body.tp-shell-v2-page .billing-v2-compare-row > div,
body.tp-shell-v2-page .billing-v2-compare-row-head,
body.tp-shell-v2-page .billing-v2-notice{
  border-color:rgba(148,163,184,.24);
  background:rgba(255,255,255,.04);
}
body.tp-public-shell .billing-v2-plan-quota-pro,
body.tp-shell-v2-page .billing-v2-plan-quota-pro{
  border-color:rgba(56,189,248,.42);
  background:rgba(14,165,233,.08);
}
body.tp-public-shell .billing-v2-feature-list li::before,
body.tp-shell-v2-page .billing-v2-feature-list li::before{
  background:#1e3a8a;
  box-shadow:inset 0 0 0 6px #38bdf8;
}
@media (max-width: 1040px){
.billing-v2-product-panel{ display:none; }

}
.billing-message-page{
  width:100%;
  max-width:920px;
  margin:0 auto;
}
.billing-message-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:22px;
  padding:clamp(24px, 4vw, 42px);
  border-radius:32px;
  border:1px solid rgba(148,163,184,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(34,197,94,.16), transparent 32%),
    radial-gradient(circle at 100% 12%, rgba(37,99,235,.16), transparent 34%),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--tp-theme-surface) 95%, var(--tp-theme-bg)),
      color-mix(in srgb, var(--tp-theme-surface-muted) 88%, var(--tp-theme-bg))
    );
  box-shadow:0 24px 70px rgba(2,8,23,.22);
}
.billing-message-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(15,23,42,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.03) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at 25% 20%, #000 0%, transparent 62%);
}
.billing-message-card > *{ position:relative; z-index:1; }
.billing-message-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.30);
  background:linear-gradient(135deg, #22c55e, #0ea5e9);
  color:#fff;
  font-size:30px;
  font-weight:950;
  box-shadow:0 18px 42px rgba(14,165,233,.20);
}
.billing-message-copy{
  display:grid;
  gap:10px;
}
.billing-message-kicker{
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(96,165,250,.34);
  background:rgba(56,189,248,.14);
  color:#dbeafe;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.billing-message-copy h1{
  margin:0;
  color:var(--tp-theme-text);
  font-size:clamp(34px, 4vw, 54px);
  line-height:.96;
  letter-spacing:-.065em;
}
.billing-message-copy p{
  margin:0;
  max-width:760px;
  color:var(--tp-theme-text-muted);
  font-size:16px;
  font-weight:700;
  line-height:1.55;
}
.billing-message-steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.billing-message-steps > div{
  display:grid;
  gap:6px;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:rgba(255,255,255,.68);
}
.billing-message-steps strong{
  color:var(--tp-theme-text);
  font-size:14px;
  font-weight:950;
}
.billing-message-steps span{
  color:var(--tp-theme-text-muted);
  font-size:13px;
  font-weight:750;
  line-height:1.42;
}
.billing-message-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.tp-public-shell .billing-message-card,
body.tp-shell-v2-page .billing-message-card{
  border-color:rgba(148,163,184,.26);
  background:
    radial-gradient(circle at 0% 0%, rgba(34,197,94,.13), transparent 32%),
    radial-gradient(circle at 100% 12%, rgba(56,189,248,.16), transparent 34%),
    linear-gradient(180deg, rgba(15,23,42,.97), rgba(7,17,31,.99));
  box-shadow:0 28px 76px rgba(0,0,0,.30);
}
body.tp-public-shell .billing-message-copy h1,
body.tp-public-shell .billing-message-steps strong,
body.tp-shell-v2-page .billing-message-copy h1,
body.tp-shell-v2-page .billing-message-steps strong{
  color:#f8fafc;
}
body.tp-public-shell .billing-message-copy p,
body.tp-public-shell .billing-message-steps span,
body.tp-shell-v2-page .billing-message-copy p,
body.tp-shell-v2-page .billing-message-steps span{
  color:#b8c7dc;
}
body.tp-public-shell .billing-message-steps > div,
body.tp-shell-v2-page .billing-message-steps > div{
  border-color:rgba(148,163,184,.24);
  background:rgba(255,255,255,.04);
}
@media (max-width: 720px){
.billing-message-steps{ grid-template-columns:1fr; }
.billing-message-actions{ display:grid; grid-template-columns:1fr; }

}
/* Billing actions */
.billing-v2-card-actions .button,
.billing-v2-card-actions form .button{ width:auto; min-height:42px; }

.billing-v2-card-actions-pro .button,
.billing-v2-card-actions-pro form .button{ width:100%; }

.billing-v2-inline-form,
.billing-v2-primary-cta,
.billing-v2-secondary-cta,
.billing-v2-card-actions .button{ width:100%; }

body.tp-public-shell .billing-v2-card-actions .button.secondary,
body.tp-shell-v2-page .billing-v2-card-actions .button.secondary{
  border-color:rgba(226,232,240,.20);
  background:rgba(255,255,255,.07);
  color:#e5eefb;
}

body.tp-public-shell .billing-v2-card-actions .button.secondary:hover,
body.tp-shell-v2-page .billing-v2-card-actions .button.secondary:hover{
  border-color:rgba(96,165,250,.65);
  background:rgba(37,99,235,.18);
  color:#fff;
}

.billing-message-actions .button{ width:100%; }
