/* /pricing look (owner, 18 Oct 2026, work/2026-10-18/fix/pricing-look). Loaded only on /pricing, after styles.css, and built on its variables so light and dark both work. */

/* Hero: one line of lede, the billing toggle close under it. */
.pl-hero { padding: 28px 0 8px; }
.pl-hero h1 { margin: 10px auto 10px; max-width: 24ch; font-size: clamp(30px, 4vw, 46px); }
.pl-hero .lede { margin: 0 auto; max-width: 62ch; font-size: 17px; }
.pl-plans-block { padding-top: 8px; padding-bottom: 8px; }
.pl-plans-block .plan-toggle { margin-bottom: 20px; }

/* Plans: three cards of equal height, buttons on one line at the bottom, Pro lifted. */
.pl-plans-block .plans { grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.pl-plans-block .plan { padding: 24px 24px 22px; }
.pl-plans-block .plan h3 { font: 600 13px/1 var(--mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); }
.pl-plans-block .plan .price { margin: 14px 0 6px; font-size: 46px; }
.pl-plans-block .plan .sub { min-height: 0; margin: 0; }
.pl-plans-block .plan ul { flex: 1 1 auto; margin: 18px 0 22px; padding-top: 18px; border-top: 1px solid var(--line); gap: 8px; align-content: start; font-size: 14.5px; }
.pl-plans-block .plan .btn { margin-top: auto; width: 100%; justify-content: center; text-align: center; min-height: 46px; }
.pl-plans-block .plan.featured { background: var(--mat); border: 2px solid var(--mat-deep); color: var(--mat-ink); box-shadow: var(--shadow); }
.pl-plans-block .plan.featured h3, .pl-plans-block .plan.featured .sub, .pl-plans-block .plan.featured .price small { color: rgba(238, 241, 230, 0.78); }
.pl-plans-block .plan.featured ul { border-top-color: var(--mat-line-major); }
.pl-plans-block .plan.featured li::before { border-color: var(--mat-ink); }
.pl-plans-block .plan.featured li a { color: var(--mat-ink); text-decoration: underline; }
.pl-plans-block .plan.featured .btn { background: var(--mat-ink); color: var(--mat-deep); border-color: var(--mat-ink); }

/* The trial line stays the lead of the Pro card (owner, 18 Oct): "14 days free" big, "then $8 / month" on its own line under it. Every price block has the same height so the lines under them align. */
.pl-plans-block .plan .price { min-height: 80px; display: flex; flex-direction: column; justify-content: flex-end; }
.pl-plans-block .plan .price[data-price-monthly][style] { font-size: 44px; line-height: 1.05 !important; }
.pl-plans-block .plan .price small[style] { display: block; margin-top: 8px; font-size: 16px; white-space: normal !important; }
@media (max-width: 560px) { .pl-plans-block .plan .price { min-height: 0; } .pl-plans-block .plan .price[data-price-monthly][style] { font-size: 38px; } }

/* Deploy 27 (24 Oct 2026): the 'yours to use and sell' line under the lede; the Lifetime card's dated price note (in its sub line, so the price blocks keep
   one height) and the reason above its button. Plain text, no countdown. */
.pl-hero .pl-sell { margin: 10px auto 0; max-width: 62ch; font-size: 15px; color: var(--ink-2); }
.pl-hero .pl-sell a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pl-plans-block .plan .sub .price-rise { display: block; margin-bottom: 4px; font-weight: 600; color: var(--ink); }
.pl-plans-block .plan .plan-why { margin: -8px 0 16px; font-size: 13px; line-height: 1.45; color: var(--ink-3); }

/* Rhythm of the sections under the plans. */
.pl-compare { padding: 36px 0 8px; }
.pl-compare .section-head { margin-bottom: 10px; }
.pl-compare .section-head p { max-width: 70ch; }
.pl-compare .free-vs-pro { margin: 12px 0 0; }
.pl-compare .free-vs-pro [role='row'] { padding: 12px 16px; }
.pl-extras { padding: 24px 0 8px; }
.pl-plans-block .plans-workflow { margin-top: 20px; }
.pl-extras .plans-account, .pl-partner .plans-account { margin-top: 0; }
.pl-jobs { padding: 28px 0 12px; }
.pl-jobs .pro-jobs { margin: 12px 0 0; }
.pl-faq { padding: 36px 0 44px; }

/* FAQ in two columns on wide screens; an open answer stays inside its column. */
.pl-faq .faq { border-top: 0; column-count: 2; column-gap: 40px; }
.pl-faq .faq details { break-inside: avoid; border-top: 1px solid var(--line); border-bottom: 0; }
.pl-faq .faq summary { font-size: 17px; padding: 16px 34px 16px 0; min-height: 44px; }
.pl-faq .faq summary::after { top: 12px; }
.pl-faq .faq .answer { font-size: 15px; }

@media (max-width: 900px) {
  .pl-plans-block .plans { grid-template-columns: minmax(0, 1fr); }
  .pl-faq .faq { column-count: 1; }
}
@media (max-width: 560px) {
  .pl-hero { padding-top: 18px; }
  .pl-hero .lede { font-size: 16px; }
  .pl-plans-block .plan { padding: 20px; }
  .pl-plans-block .plan-toggle button { min-height: 40px; }
}
