/* Public pricing shares the site's light and dark palette. */
.public-page .desktop-nav a { white-space:nowrap; }
@media(max-width:1420px) { .public-page .header-login { display:none; } }
@media(min-width:1101px) and (max-width:1240px) {
  .public-page .desktop-nav { display:none; }
  .public-page .header-actions { margin-left:auto; }
  .public-page .mobile-menu { display:block; }
}
.launch-promotion { display:inline-flex; align-items:center; gap:9px; margin-top:20px; color:var(--blue); font-size:.8125rem; font-weight:600; line-height:1.6; }
.launch-promotion svg,.plan-features svg { width:18px; height:18px; flex-shrink:0; }
.pricing-opening { padding-block:62px 38px; text-align:center; }
.pricing-opening .eyebrow { margin-bottom:18px; }
.pricing-opening h1 { max-width:22ch; margin-inline:auto; font-size:clamp(2.35rem,4vw,3.65rem); }
.pricing-opening .lead { margin:20px auto 0; max-width:650px; font-size:1rem; }
.pricing-section { margin-bottom:76px; }
.pricing-section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.pricing-section-heading .eyebrow { margin-bottom:14px; }
.pricing-section-heading h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.pricing-section-heading .text-link { font-size:.875rem; }
.pricing-promotion { display:flex; align-items:center; gap:20px; padding:24px 28px; margin-bottom:28px; border:1px solid var(--line); border-radius:18px; background:var(--selected); }
.promotion-icon { display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--blue); }
.promotion-icon svg { width:25px; height:25px; }
.pricing-promotion .promotion-label { margin-bottom:5px; color:var(--blue); font-size:.75rem; font-weight:650; }
.pricing-promotion h2 { font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; }
.pricing-promotion p:last-child { margin-top:7px; font-size:.875rem; }
.pricing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pricing-card { display:flex; flex-direction:column; min-width:0; padding:25px 22px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--card-shadow); }
.plan-top { display:flex; flex-direction:column; align-items:start; gap:10px; margin-bottom:25px; }
.plan-top h3 { font-size:1.15rem; }
.plan-badge { padding:5px 9px; border-radius:6px; background:var(--ice); color:var(--muted); font-size:.6875rem; line-height:1.4; font-weight:600; }
.plan-audience { color:var(--ink); font-size:1.05rem; white-space:nowrap; }
.plan-audience strong { font-weight:700; }
.plan-audience > span { display:block; color:var(--muted); font-size:.8125rem; white-space:normal; }
.plan-price { display:flex; align-items:baseline; gap:8px; margin-top:23px; color:var(--ink); }
.plan-price strong { font-size:2.7rem; line-height:1.25; letter-spacing:-.05em; }
.plan-price > span { color:var(--muted); font-size:.875rem; }
.plan-regular { margin-top:8px; font-size:.8125rem; min-height:2.8em; }
.plan-regular s { color:var(--ink); text-decoration-thickness:1px; }
.plan-promotion { color:var(--blue); font-size:.8125rem; font-weight:600; min-height:3.4em; margin-top:8px; }
.public-page .plan-features { display:grid; gap:12px; padding:20px 0 0; margin:8px 0 25px; list-style:none; border-top:1px solid var(--line); }
.public-page .plan-features li { display:flex; align-items:start; gap:8px; margin:0; font-size:.8125rem; line-height:1.6; }
.plan-features svg { margin-top:2px; color:var(--blue); }
.pricing-card .button { width:100%; margin-top:auto; padding-inline:10px; font-size:.875rem; gap:10px; }
.pricing-custom { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:22px; padding:27px 28px; border:1px solid var(--line); border-radius:18px; background:var(--ice); }
.pricing-custom h3 { font-size:1.15rem; }
.pricing-custom p { margin-top:7px; font-size:.875rem; }
.pricing-custom .button { flex-shrink:0; }
.pricing-rules { display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:65px; padding-top:38px; border-top:1px solid var(--line); margin-bottom:75px; }
.pricing-rules .section-heading h2 { font-size:2rem; }
.pricing-rule { padding:20px 0; border-bottom:1px solid var(--line); }
.pricing-rule:first-child { padding-top:0; }
.pricing-rule summary { display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:1rem; line-height:1.5; font-weight:600; list-style:none; }
.pricing-rule summary::-webkit-details-marker { display:none; }
.pricing-rule summary::marker { content:''; }
.pricing-rule p { padding-top:14px; font-size:.9375rem; }
@media(min-width:1101px) and (max-width:1320px) {
  .public-page .desktop-nav { gap:0; }
  .public-page .desktop-nav a { padding-inline:8px; font-size:.8125rem; }
}
@media(max-width:1050px) {
  .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .plan-regular,.plan-promotion { min-height:0; }
  .pricing-rules { gap:35px; }
}
@media(max-width:600px) {
  .pricing-opening { padding-block:38px 28px; text-align:left; }
  .pricing-opening h1 { margin:0; }
  .pricing-opening .lead { margin-top:18px; }
  .pricing-section-heading { align-items:start; flex-direction:column; gap:12px; }
  .pricing-promotion { padding:21px 18px; gap:12px; align-items:start; }
  .promotion-icon { width:34px; height:34px; border-radius:10px; }
  .promotion-icon svg { width:20px; height:20px; }
  .pricing-promotion h2 { font-size:1.2rem; }
  .pricing-grid { grid-template-columns:1fr; gap:14px; }
  .pricing-card { padding:23px; }
  .plan-top { flex-direction:row; justify-content:space-between; align-items:center; margin-bottom:19px; }
  .pricing-custom { align-items:stretch; flex-direction:column; padding:24px 22px; gap:18px; }
  .pricing-rules { grid-template-columns:1fr; gap:8px; margin-bottom:45px; }
  .pricing-section { margin-bottom:50px; }
}
