/* Paralegal pricing card: preserve the site's existing ticket and glass styling. */
.paralegal-card { --paralegal-card-padding: clamp(12px, 2vw, 24px); }
.paralegal-card .pricing-card-hero { padding: var(--paralegal-card-padding); box-sizing: border-box; }
.paralegal-card .pricing-pass {
  --stub-w: clamp(240px, 27vw, 288px);
  max-height: calc(var(--paralegal-track-height, calc(100svh - var(--nav-h) - 170px)) - var(--paralegal-card-padding) - var(--paralegal-card-padding));
  overflow-y: auto;
  border-radius: 22px;
  scrollbar-width: thin;
}
.paralegal-card .pricing-pass__title {
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1.12;
  text-wrap: balance;
}
.paralegal-card .pricing-pass__price-main {
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.paralegal-card .pricing-pass__badge { white-space: nowrap; }
.paralegal-card .pricing-pass__stub { gap: 14px; }
.paralegal-card .pricing-pass__stub,
.paralegal-card .pricing-pass:hover .pricing-pass__stub,
.paralegal-card .pricing-pass:focus-within .pricing-pass__stub,
.paralegal-card .pricing-pass:not(:hover):not(:focus-within) .pricing-pass__stub {
  animation: none;
  transform: none;
}
.paralegal-downloads { display: grid; gap: 9px; margin-top: auto; }
.paralegal-download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid color-mix(in oklab, var(--fg) 24%, transparent);
  border-radius: 12px;
  background: color-mix(in oklab, var(--card) 72%, transparent);
  color: var(--fg);
  font: 700 13px/1.35 Inter, system-ui, sans-serif;
  text-decoration: none;
  text-align: center;
}
.paralegal-download svg { width: 17px; height: 17px; flex-shrink: 0; }
.paralegal-download[href]:hover {
  border-color: color-mix(in oklab, var(--brush-c1) 65%, transparent);
  background: color-mix(in oklab, var(--card) 94%, transparent);
}
.paralegal-download[aria-disabled="true"] { opacity: .6; cursor: default; }
.paralegal-download-status {
  margin: 2px 0 0;
  color: color-mix(in oklab, var(--fg) 70%, transparent);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
.paralegal-card .pricing-pass__ghost { min-height: 44px; font-size: 12px; }
#pricing:has(.paralegal-card.in-view) .pricing-progress { bottom: 16px; }
.paralegal-card .pricing-pass__ghost:focus-visible,
.paralegal-download:focus-visible,
.paralegal-dialog__close:focus-visible {
  outline: 2px solid var(--fg);
  outline-offset: 4px;
}
html.paralegal-dialog-open { overflow: hidden; }
.paralegal-dialog {
  width: min(760px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100svh - 40px);
  box-sizing: border-box;
  margin: auto;
  padding: 0;
  border: 1px solid color-mix(in oklab, var(--fg) 22%, transparent);
  border-radius: 24px;
  background: color-mix(in oklab, var(--card) 94%, transparent);
  color: var(--fg);
  box-shadow: 0 32px 100px #0006;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.paralegal-dialog::backdrop { background: #05080db8; backdrop-filter: blur(8px); }
.paralegal-dialog__header { position: relative; padding: 36px 36px 24px; }
.paralegal-dialog__controls {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 0;
  display: flex;
  justify-content: flex-end;
  padding-right: 20px;
}
.paralegal-dialog__eyebrow {
  margin: 0 52px 12px 0;
  color: color-mix(in oklab, var(--fg) 65%, transparent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.paralegal-dialog__close {
  position: relative;
  top: 20px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: color-mix(in oklab, var(--fg) 6%, transparent);
  color: var(--fg);
  font-size: 27px;
  cursor: pointer;
}
.paralegal-dialog h2 { margin: 0; font-size: clamp(30px, 5vw, 42px); line-height: 1.12; }
.paralegal-dialog__lead { margin: 18px 0 0; font-size: 17px; line-height: 1.7; }
.paralegal-dialog__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.paralegal-dialog__tags span {
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.paralegal-dialog__content { padding: 0 36px 32px; }
.paralegal-dialog__section { padding: 21px 0; border-top: 1px solid var(--line); }
.paralegal-dialog h3 { margin: 0 0 9px; font-size: 18px; line-height: 1.4; }
.paralegal-dialog__section p {
  margin: 0;
  color: color-mix(in oklab, var(--fg) 80%, transparent);
  line-height: 1.75;
}
.paralegal-dialog__download-area { padding-top: 22px; border-top: 1px solid var(--line); }
.paralegal-dialog__download-area .paralegal-downloads { grid-template-columns: 1fr 1fr; margin-top: 14px; }
.paralegal-dialog__download-area .paralegal-download-status { margin-top: 12px; }
@media (max-width: 780px) {
  .paralegal-card .pricing-pass__body { border-radius: 22px 22px 0 0; gap: 10px; padding: 20px; }
  .paralegal-card .pricing-pass__title { font-size: 30px; }
  .paralegal-card .pricing-pass__subtitle { font-size: 14px; line-height: 1.5; }
  .paralegal-card .pricing-pass__list { gap: 6px; margin-top: 2px; font-size: 13px; }
  .paralegal-card .pricing-pass__meta { gap: 8px; }
  .paralegal-card .pricing-pass__eyebrow { font-size: 10px; letter-spacing: .08em; }
  .paralegal-card .pricing-pass__badge { font-size: 10px; padding: 6px 9px; letter-spacing: .02em; }
  .paralegal-card .pricing-pass__stub { padding: 16px 20px; gap: 10px; }
  .paralegal-card .pricing-pass__body::after,
  .paralegal-card .pricing-pass__stub::before { content: none; }
  .paralegal-card .pricing-pass__stub-meta { display: none; }
  .paralegal-card .paralegal-downloads { grid-template-columns: 1fr 1fr; }
  .paralegal-card .paralegal-download { font-size: 11px; padding: 10px 8px; }
  .paralegal-card .paralegal-download-status { font-size: 11px; }
}
@media (max-width: 480px) {
  .paralegal-dialog__header { padding: 30px 22px 22px; }
  .paralegal-dialog__content { padding: 0 22px 24px; }
  .paralegal-dialog__lead { font-size: 15px; }
  .paralegal-dialog__download-area .paralegal-downloads { grid-template-columns: 1fr; }
}
@media (prefers-reduced-transparency: reduce) {
  .paralegal-card .pricing-pass__body,
  .paralegal-card .pricing-pass__stub,
  .paralegal-dialog { background: var(--card) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .paralegal-dialog::backdrop { backdrop-filter: none; }
}

/* Three independently selectable access options within the existing ticket. */
.paralegal-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.paralegal-plan{display:flex;flex-direction:column;gap:12px;padding:18px 14px;border:1px solid color-mix(in oklab,var(--fg) 22%,transparent);border-radius:14px;background:transparent;min-width:0}
.paralegal-plan.is-selected{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
.paralegal-plan h4{margin:0;font-size:14px;line-height:1.4;font-weight:650}
.paralegal-plan__price{display:flex;flex-direction:column;gap:4px;margin:0}
.paralegal-plan__price strong{font-size:clamp(23px,2.4vw,32px);letter-spacing:-.04em;line-height:1.1}
.paralegal-plan__price span{font-size:12px;opacity:.7}
.paralegal-plan__detail{margin:0;font-size:12px;line-height:1.6;flex:1}
.paralegal-plan button{min-height:44px;padding:10px 8px;border:1px solid var(--fg);border-radius:9px;background:transparent;color:var(--fg);font-family:inherit;font-size:12px;font-weight:600;line-height:1.35;cursor:pointer}
.paralegal-plan button:hover{background:color-mix(in oklab,var(--fg) 7%,transparent)}
.paralegal-plan button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.paralegal-plan button:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.paralegal-plan-status{font-size:12px;min-height:18px;margin:12px 0 0}
.paralegal-card .pricing-pass__footer{margin-top:12px;justify-content:flex-end}
@media(max-width:760px){.paralegal-plans{grid-template-columns:1fr}.paralegal-plan{gap:10px}.paralegal-plan__price{flex-direction:row;align-items:baseline;gap:10px}}

/* One product: normal document flow, with no empty carousel stages. */
.pricing-single .pricing-scroll, .pricing-single .pricing-track { height:auto; }
.pricing-single .pricing-sticky { position:relative; top:auto; height:auto; }
.pricing-single .pricing-stage { position:relative; top:auto; left:auto; margin:0 auto; transform:none; opacity:1; pointer-events:auto; }
.pricing-single .paralegal-card .pricing-pass { max-height:none; overflow:visible; }
