/* Subscription page direction: calm, luminous editorial framing with a clear
   commercial comparison. Scoped to this route so the other marketing pages stay put. */
html:has(body.pricing-v2) { background: #f4f6f7; }
body.pricing-v2 {
  --marketing-ink: #11171b;
  --marketing-muted: #586269;
  --marketing-line: rgba(17, 23, 27, .18);
  --marketing-paper: #f4f6f7;
  --marketing-lime: #d3f0dd;
  min-width: 20rem;
  background:
    radial-gradient(circle at 14% 7%, rgba(255, 221, 181, .72), transparent 33rem),
    radial-gradient(circle at 76% 9%, rgba(211, 208, 250, .78), transparent 36rem),
    linear-gradient(135deg, #f6f9f5 8%, #edf5f7 52%, #faf4f5 95%);
  color: var(--marketing-ink);
}
.pricing-v2::before, .pricing-v2::after { opacity: .08; pointer-events: none; }
.pricing-v2 .marketing-shell { width: min(90rem, calc(100% - 2.5rem)); }
.pricing-v2 .marketing-site-header .marketing-logo { filter: none; }
.pricing-v2 .marketing-site-header .marketing-header-shell { box-shadow: 0 1rem 2.8rem rgba(31, 45, 56, .1); }
.pricing-v2 .marketing-footer { margin-top: 4.5rem; color: #5c666c; }
.pricing-v2 .marketing-footer a:hover { text-decoration: underline; }
.pricing-redesign { padding: 0; }
.pricing-eyebrow {
  display: block;
  margin: 0 0 1rem;
  color: #66549b;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.pricing-hero-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 6rem);
  min-height: min(48rem, 88vh);
  padding: clamp(6rem, 12vw, 10rem) 0 clamp(5rem, 8vw, 7rem);
}
.pricing-hero-v2 h1, .pricing-redesign h2, .pricing-flow strong, .pricing-v2__card h3 {
  font-family: var(--marketing-display);
  font-weight: 700;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.pricing-hero-v2 h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(4.2rem, 8.5vw, 9rem);
  line-height: .82;
}
.pricing-hero-v2 h1 em { color: #675a91; font-style: normal; }
.pricing-hero-v2__lead {
  max-width: 34rem;
  margin: 2.2rem 0 0;
  color: #354149;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.5;
}
.pricing-hero-v2__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 2rem; }
.pricing-pill {
  display: inline-flex;
  min-height: 3.2rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: .9rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.pricing-pill:hover, .pricing-pill:focus-visible { transform: translateY(-3px); box-shadow: 0 .75rem 1.6rem rgba(13, 20, 28, .17); }
.pricing-pill--dark { background: #11171b; color: #fff; }
.pricing-pill--dark:hover { background: #352b4a; }
.pricing-pill--light { background: #f8faf5; color: #11171b; }
.pricing-text-link, .pricing-bottom-v2__link {
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}
.pricing-text-link:hover, .pricing-bottom-v2__link:hover { text-decoration: underline; text-underline-offset: .3em; }
.pricing-flow {
  padding: clamp(1.6rem, 3.5vw, 3.3rem);
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 2rem;
  background: rgba(255, 255, 255, .6);
  box-shadow: 0 1.5rem 4rem rgba(52, 59, 87, .1);
  backdrop-filter: blur(18px);
}
.pricing-flow__tag { display: block; margin-bottom: 2.4rem; color: #69737a; font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.pricing-flow__row {
  display: grid;
  grid-template-columns: 2.2rem 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 0;
  border-top: 1px solid rgba(17,23,27,.17);
}
.pricing-flow__row strong { font-size: clamp(1.6rem, 2.7vw, 3rem); line-height: 1; }
.pricing-flow__row:nth-of-type(2) strong { color: #66549b; }
.pricing-flow__row:nth-of-type(3) strong { color: #308167; }
.pricing-flow__index { color: #66727b; font-size: .75rem; font-weight: 700; }
.pricing-flow p { margin: 2rem 0 0; color: #4d5961; font-size: .95rem; }
.pricing-value, .pricing-plans-v2, .pricing-compare { padding: clamp(5rem, 8vw, 8rem) 0; border-top: 1px solid rgba(17, 23, 27, .17); }
.pricing-section-heading h2, .pricing-plans-v2__heading h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(3rem, 6vw, 6.1rem);
  line-height: .91;
}
.pricing-value__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: clamp(2.2rem, 5vw, 4rem); }
.pricing-value__cards article { min-width: 0; min-height: 15rem; padding: clamp(1.3rem, 2.3vw, 2.25rem); border: 1px solid rgba(17,23,27,.12); border-radius: 1.3rem; background: rgba(255,255,255,.58); }
.pricing-value__cards article:nth-child(2) { background: rgba(231, 224, 252, .58); }
.pricing-value__cards article:nth-child(3) { background: rgba(221, 244, 234, .66); }
.pricing-value__cards article > span { color: #69727a; font-size: .7rem; font-weight: 700; letter-spacing: .13em; }
.pricing-value__cards h3 { margin: 3rem 0 .65rem; font-family: var(--marketing-display); font-size: clamp(1.7rem, 2.5vw, 2.6rem); letter-spacing: -.045em; line-height: 1; }
.pricing-value__cards p { max-width: 25rem; margin: 0; color: #52606a; font-size: .98rem; line-height: 1.55; }
.pricing-plans-v2__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.pricing-plans-v2__heading p:last-child { max-width: 37rem; color: #4b5861; font-size: 1.03rem; line-height: 1.5; }
.pricing-v2__currency { display: flex; flex-shrink: 0; gap: .2rem; margin-bottom: .5rem; padding: .3rem; border: 1px solid rgba(17,23,27,.16); border-radius: 999px; background: rgba(255,255,255,.65); }
.pricing-v2__currency button { min-width: 3rem; min-height: 2.6rem; padding: .65rem .8rem; border: 0; border-radius: 999px; background: transparent; color: #435059; font-size: .78rem; font-weight: 700; cursor: pointer; }
.pricing-v2__currency button[aria-pressed="true"] { background: #11171b; color: #fff; box-shadow: 0 .3rem .8rem rgba(0,0,0,.15); }
.pricing-v2__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; align-items: stretch; }
.pricing-v2__card { display: flex; min-width: 0; flex-direction: column; padding: clamp(1.4rem, 2.4vw, 2.4rem); border: 1px solid rgba(17,23,27,.17); border-radius: 1.5rem; background: rgba(255,255,255,.83); box-shadow: 0 1.2rem 3rem rgba(48,58,73,.055); transition: transform .25s ease, box-shadow .25s ease; }
.pricing-v2__card:hover { transform: translateY(-6px); box-shadow: 0 1.4rem 3rem rgba(48,58,73,.14); }
.pricing-v2__card--pro { border-color: #7765aa; background: #e8e1fb; box-shadow: 0 1.2rem 3rem rgba(89,65,131,.13); }
.pricing-v2__card--signature { background: #e7f3ed; }
.pricing-v2__card-top { display: flex; justify-content: space-between; gap: 1rem; align-items: center; color: #52606a; font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pricing-v2__plan-tier { padding: .5rem .7rem; border: 1px solid rgba(17,23,27,.17); border-radius: 999px; white-space: nowrap; }
.pricing-v2__card--pro .pricing-v2__plan-tier { border-color: transparent; background: #635192; color: #fff; }
.pricing-v2__card h3 { margin: clamp(2rem, 3vw, 3.2rem) 0 .8rem; font-size: clamp(2.4rem, 4vw, 4.5rem); line-height: .9; }
.pricing-v2__description { min-height: 3rem; margin: 0; color: #48555c; font-size: 1rem; line-height: 1.45; }
.pricing-v2__price { display: flex; align-items: baseline; gap: .4rem; margin-top: 2.5rem; }
.pricing-v2__price strong { font-family: var(--marketing-display); font-size: clamp(3.4rem, 5vw, 5.9rem); line-height: .8; letter-spacing: -.07em; white-space: nowrap; }
.pricing-v2__price span { color: #5b6670; font-size: .85rem; }
.pricing-v2__fee { display: flex; align-items: baseline; gap: .7rem; min-height: 4rem; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid rgba(17,23,27,.15); }
.pricing-v2__fee strong { font-family: var(--marketing-display); font-size: 2.7rem; letter-spacing: -.055em; line-height: .9; }
.pricing-v2__fee span { max-width: 9rem; color: #5d6870; font-size: .81rem; line-height: 1.25; }
.pricing-v2__included { display: flex; flex: 1; flex-direction: column; gap: .8rem; margin: 2.1rem 0 1.5rem; }
.pricing-v2__included > span { color: #4e5a61; font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.pricing-v2__included ul { display: grid; align-content: start; gap: .85rem; margin: 0; padding: 0; list-style: none; color: #172025; font-size: .95rem; line-height: 1.35; }
.pricing-v2__included li { display: flex; gap: .55rem; }
.pricing-v2__included li::before { content: "✓"; color: #297d63; font-weight: 700; }
.pricing-v2__included p { margin: .2rem 0 0; color: #50645b; font-size: .8rem; line-height: 1.35; }
.pricing-v2__card .pricing-pill { width: 100%; }
.pricing-plans-v2__fineprint { margin: 1.4rem 0 0; color: #56636a; font-size: .86rem; line-height: 1.5; }
.pricing-compare__scroll { margin-top: 2.5rem; overflow-x: auto; border: 1px solid rgba(17,23,27,.16); border-radius: 1.4rem; background: rgba(255,255,255,.73); }
.pricing-compare table { width: 100%; min-width: 43rem; border-collapse: collapse; text-align: left; }
.pricing-compare th, .pricing-compare td { padding: 1.15rem 1.3rem; border-bottom: 1px solid rgba(17,23,27,.12); font-size: .94rem; }
.pricing-compare thead th { padding-top: 1.6rem; padding-bottom: 1.6rem; background: rgba(231,224,252,.55); font-family: var(--marketing-display); font-size: 1.15rem; }
.pricing-compare tbody tr:last-child th, .pricing-compare tbody tr:last-child td { border-bottom: 0; }
.pricing-compare tbody th { font-weight: 600; }
.pricing-compare td:nth-child(3), .pricing-compare thead th:nth-child(3) { background: rgba(231,224,252,.35); }
.pricing-bottom-v2 { margin: 3rem 0 0; padding: clamp(2rem, 5vw, 5rem); border-radius: clamp(1.4rem, 2.5vw, 2rem); background: #111b22; color: #fff; }
.pricing-bottom-v2 .pricing-eyebrow { color: #c3b9fb; }
.pricing-bottom-v2 h2 { max-width: 14ch; margin: 0; font-size: clamp(3.2rem, 6.7vw, 7rem); line-height: .85; }
.pricing-bottom-v2 > p:not(.pricing-eyebrow) { max-width: 34rem; margin: 1.6rem 0 0; color: #cbd5d9; font-size: 1.05rem; line-height: 1.5; }
.pricing-bottom-v2 > div { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.1rem; }
.pricing-bottom-v2__link { color: #e3e6ed; }
@media (max-width: 64rem) {
  .pricing-hero-v2 { grid-template-columns: 1fr; min-height: 0; }
  .pricing-flow { max-width: 45rem; }
  .pricing-v2__grid { grid-template-columns: 1fr; max-width: 44rem; margin-inline: auto; }
  .pricing-v2__card { min-height: 0; }
  .pricing-v2__card h3 { margin-top: 2rem; }
  .pricing-v2__description { min-height: 0; }
  .pricing-v2__price { margin-top: 1.8rem; }
  .pricing-value__cards { grid-template-columns: 1fr; }
  .pricing-value__cards article { min-height: 0; }
  .pricing-value__cards h3 { margin-top: 1.8rem; }
}
@media (max-width: 43rem) {
  .pricing-v2 .marketing-shell { width: min(100% - 2rem, 40rem); }
  .pricing-hero-v2 { padding-top: 5rem; }
  .pricing-hero-v2 h1 { font-size: clamp(3.3rem, 14vw, 5rem); }
  .pricing-plans-v2__heading { align-items: start; flex-direction: column; }
  .pricing-v2__currency { max-width: 100%; }
  .pricing-v2__currency button { min-width: 2.8rem; }
  .pricing-v2__card { padding: 1.35rem; }
  .pricing-flow__row strong { font-size: clamp(1.3rem, 6vw, 2.3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-v2__card, .pricing-pill { transition: none; }
  .pricing-v2::before, .pricing-v2::after { animation: none; }
}
