/* Pricing is a comparison page; all rules stay within its own content. */
.pricing-content { --pricing-ink:#142033; --pricing-muted:#505c6d; --pricing-line:#dce2e9; --pricing-blue:#1768e8; color:var(--pricing-ink); font-size:16px; line-height:1.65; }
.pricing-content .pricing-hero { padding-block:42px 30px; text-align:center; }
.pricing-content .pricing-kicker { margin:0 0 12px; color:var(--pricing-blue); font-weight:700; }
.pricing-content h1 { max-width:22ch; margin:0 auto; font-size:clamp(2.25rem,4.5vw,4rem); font-weight:550; letter-spacing:-.04em; line-height:1.12; }
.pricing-content .pricing-intro { max-width:760px; margin:22px auto; font-size:1.125rem; color:var(--pricing-muted); }
.pricing-content .pricing-billing { display:flex; width:fit-content; gap:6px; padding:6px; margin:26px auto 16px; border:1px solid var(--pricing-line); border-radius:50px; background:#f3f6fa; }
.pricing-content .pricing-billing label { display:flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:9px 25px; border-radius:40px; color:var(--pricing-muted); cursor:pointer; font-weight:650; transition:background .18s ease,color .18s ease; }
.pricing-content .pricing-billing label.is-selected { background:var(--pricing-blue); color:#fff; }
.pricing-content .pricing-billing input { accent-color:var(--pricing-blue); width:16px; height:16px; margin:0; }
.pricing-content .pricing-billing label:focus-within { outline:3px solid var(--pricing-ink); outline-offset:3px; }
.pricing-content .pricing-billing-note { max-width:820px; margin:0 auto; color:var(--pricing-muted); }
.pricing-content .pricing-scope { margin:8px 0 0; font-weight:600; }
.pricing-content .pricing-section-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 18px; padding-block:14px 22px; }
.pricing-content .pricing-section-nav a { display:flex; align-items:center; min-height:44px; padding:6px 10px; color:var(--pricing-ink); text-decoration:none; border-block-end:1px solid var(--pricing-line); }
.pricing-content .pricing-section-nav a:hover { color:var(--pricing-blue); }
.pricing-content .pricing-group { padding-block:46px; scroll-margin-block-start:calc(var(--header-height,76px) + 24px); border-block-start:1px solid var(--pricing-line); }
.pricing-content .pricing-group:nth-of-type(odd) { background:#f6f8fb; }
.pricing-content .pricing-section-heading { margin-block-end:28px; }
.pricing-content .pricing-section-heading h2 { margin:0; font-size:clamp(1.75rem,2.5vw,2.65rem); font-weight:600; letter-spacing:-.025em; line-height:1.25; }
.pricing-content .pricing-section-heading p { max-width:850px; margin:14px 0 0; color:var(--pricing-muted); }
.pricing-content .pricing-plans { display:grid; gap:20px; align-items:stretch; }
.pricing-content .pricing-plans-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pricing-content .pricing-plans-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pricing-content .pricing-plan { display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--pricing-line); border-radius:20px; background:#fff; }
.pricing-content .pricing-plan h3 { min-height:2.8em; margin:0 0 12px; font-size:1.3rem; font-weight:650; line-height:1.4; }
.pricing-content .pricing-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 10px; }
.pricing-content .pricing-price strong { font-size:clamp(2.8rem,4vw,3.7rem); font-weight:600; letter-spacing:-.05em; line-height:1.15; }
.pricing-content .pricing-price>span { color:var(--pricing-muted); }
.pricing-content .pricing-annual-note { width:100%; min-height:3.3em; margin:14px 0 22px; color:var(--pricing-muted); line-height:1.65; }
.pricing-content .pricing-plan-highlights { margin:0 0 24px; }
.pricing-content dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-block:11px; border-block-start:1px solid var(--pricing-line); }
.pricing-content dt { min-width:0; color:var(--pricing-muted); }
.pricing-content dd { flex:none; margin:0; font-weight:650; }
.pricing-content bdi[dir="ltr"] { white-space:nowrap; }
.pricing-content .pricing-plan-action { margin-block-start:auto; }
.pricing-content .pricing-plan-action .button { width:100%; }
.pricing-content .pricing-free { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-block-start:22px; padding:26px 30px; border:1px solid var(--pricing-line); border-radius:18px; background:#eef4ff; }
.pricing-content .pricing-free h3 { margin:0; font-size:1.25rem; }
.pricing-content .pricing-free h3 span { color:var(--pricing-blue); }
.pricing-content .pricing-free p { max-width:900px; margin:12px 0 0; }
.pricing-content .pricing-free .button { flex:none; }
.pricing-content .pricing-terms { max-width:1000px; margin-block:24px; color:var(--pricing-muted); }
.pricing-content .pricing-terms p { margin:14px 0; }
.pricing-content .pricing-comparison { border:1px solid var(--pricing-line); border-radius:14px; overflow:clip; background:#fff; }
.pricing-content .pricing-comparison summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:18px 24px; font-weight:650; cursor:pointer; list-style:none; }
.pricing-content .pricing-comparison summary::-webkit-details-marker { display:none; }
.pricing-content .pricing-comparison summary span { font-size:25px; font-weight:400; }
.pricing-content .pricing-comparison[open] summary span { transform:rotate(45deg); }
.pricing-content .pricing-comparison summary:focus-visible,.pricing-content a:not(.button):focus-visible { outline:3px solid var(--pricing-blue); outline-offset:-4px; }
.pricing-content table { width:100%; border-collapse:collapse; text-align:start; table-layout:fixed; }
.pricing-content table th,.pricing-content table td { padding:16px 22px; border-block-start:1px solid var(--pricing-line); text-align:start; vertical-align:top; font-size:16px; overflow-wrap:break-word; }
.pricing-content table th { font-weight:600; }
.pricing-content thead th { background:#eef3fa; }
.pricing-content tbody th { color:var(--pricing-muted); }
.pricing-content .pricing-comparison-mobile { display:none; }
.pricing-content .pricing-closing { display:flex; flex-direction:column; align-items:center; text-align:center; gap:24px; padding-block:44px 65px; }
.pricing-content .pricing-closing h2 { margin:0; font-size:clamp(2rem,3vw,3rem); line-height:1.3; }
.pricing-page[dir="rtl"] .pricing-content :is(h1,h2,h3) { letter-spacing:0; line-height:1.45; }
@media(max-width:1024px) { .pricing-content .pricing-plan { padding:24px; } .pricing-content .pricing-free { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) {
  .pricing-content .pricing-hero { padding-block:30px 22px; }
  .pricing-content h1 { font-size:2.3rem; }
  .pricing-content .pricing-intro { font-size:16px; }
  .pricing-content .pricing-billing label { padding-inline:20px; }
  .pricing-content .pricing-section-nav { gap:4px 8px; justify-content:flex-start; }
  .pricing-content .pricing-group { padding-block:32px; }
  .pricing-content .pricing-plans { grid-template-columns:1fr; gap:16px; }
  .pricing-content .pricing-plan { padding:24px; }
  .pricing-content .pricing-plan h3 { min-height:0; }
  .pricing-content .pricing-free { padding:24px; }
  .pricing-content .pricing-free .button { width:100%; }
  .pricing-content .pricing-table-desktop { display:none; }
  .pricing-content .pricing-comparison-mobile { display:grid; gap:18px; }
  .pricing-content .pricing-comparison-mobile article { padding:22px; border-block-start:1px solid var(--pricing-line); background:#fff; }
  .pricing-content .pricing-comparison-mobile h3 { margin:0 0 18px; font-size:1.2rem; }
  .pricing-content .pricing-comparison-mobile p { margin:0 0 10px; color:var(--pricing-muted); }
  .pricing-content .pricing-comparison-mobile dl { margin:0; }
  .pricing-content .pricing-addons .pricing-comparison-mobile article { border:1px solid var(--pricing-line); border-radius:14px; }
}
@media(prefers-reduced-motion:reduce) { .pricing-content .pricing-billing label { transition:none; } }
