/* Pricing uses the same site shell; plan amounts remain controlled by script.js. */
.pricing-page .page-hero { padding: 67px 0 34px; }
.pricing-page .page-hero h1 { margin-bottom: 20px; }
.pricing-page .page-hero h1 span { color: var(--blue); }
.pricing-page .page-hero p { margin: 0 auto; max-width: 60ch; }
.pricing-page .page-hero .section-kicker { font-size: 10px; margin-bottom: 18px; }
.pricing-trial-note { display: inline-flex; gap: 9px; align-items: center; margin: 23px auto 0; color: #30765b; font-size: 12px; }
.pricing-trial-note i { width: 6px; height: 6px; border-radius: 50%; background: #2d996b; }
.pricing-page .pricing-section { padding-top: 8px; }
.pricing-page .billing-toggle { margin-bottom: 42px; }
.pricing-page .toggle-group { background: #eaf0f6; border: 1px solid #dbe5ee; padding: 5px; border-radius: 40px; gap: 4px; }
.pricing-page .toggle-group button { border-radius: 30px; padding: 12px 24px; font-size: 13px; background: transparent; color: #526a7e; }
.pricing-page .toggle-group button[aria-pressed=true] { background: #fff; color: var(--ink); box-shadow: 0 3px 10px #213e5912; }
.pricing-page .toggle-group .save { background: #dcece1; color: #256746; font-size: 9px; padding: 3px 7px; border-radius: 20px; margin-left: 7px; }
.pricing-page .plan-grid { gap: 22px; align-items: stretch; }
.pricing-page .plan { position: relative; padding: 33px 30px 28px; border: 1px solid #dbe5ee; border-radius: 18px; background: #fff; box-shadow: 0 16px 35px -30px #253d5560; }
.pricing-page .plan.featured { background: #142c40; color: #d8e5ee; border: 1px solid #142c40; box-shadow: 0 20px 45px -30px #183f7780; }
.pricing-page .plan-badge { position: absolute; top: -14px; left: 27px; right: auto; background: #1268e8; border: 4px solid #fbfcfe; border-radius: 20px; padding: 4px 13px; color: #fff; font-size: 10px; }
.plan-overline { font: 10px/1.5 monospace; letter-spacing: .13em; color: #718697; margin: 0 0 15px; }
.pricing-page .plan h2 { font-size: 29px; margin-bottom: 12px; }
.pricing-page .plan-desc { font-size: 13px; min-height: 55px; line-height: 1.8; color: #61788a; margin-bottom: 21px; }
.pricing-page .plan-price { min-height: 72px; align-items: baseline; gap: 5px; }
.pricing-page .plan-price .amount { font-size: clamp(40px,4vw,52px); letter-spacing: -.06em; line-height: 1.15; font-weight: 700; }
.pricing-page .plan-price .per { font-size: 12px; color: #61788a; }
.pricing-page .plan-sub { font-size: 11px; min-height: 36px; margin-top: 5px; padding-bottom: 19px; border-bottom: 1px solid #e0e8ef; color: #61788a; line-height: 1.7; }
.pricing-page .plan ul { gap: 13px; padding-top: 13px; margin-bottom: 27px; }
.pricing-page .plan li { font-size: 12px; line-height: 1.8; padding-left: 24px; }
.pricing-page .plan-actions { margin-top: auto; padding-top: 15px; }
.pricing-page .plan-actions .btn { padding: 14px 12px; font-size: 12px; }
.pricing-page .plan-fine { font-size: 10px; margin-top: 10px; }
.pricing-page .trial-allowance { font-size: 12px; line-height: 1.7; padding: 12px; margin: 0 0 16px; border: 1px solid #dce6ee; border-radius: 9px; color: #486174; background: #f4f8fc; }
.pricing-page .featured .trial-allowance { color: #d8e5ee; background: #203c51; border-color: #496275; }
.compare-scroll-hint { display: none; font-size: 12px; margin: 0 0 12px; color: #486174; }
.pricing-page .featured h2,.pricing-page .featured .amount,.pricing-page .featured strong,.pricing-page .featured b { color: #fff; }
.pricing-page .featured .plan-overline { color: #81a5c0; }
.pricing-page .featured .plan-desc,.pricing-page .featured .plan-sub,.pricing-page .featured .per,.pricing-page .featured .plan-fine { color: #b5cadb; }
.pricing-page .featured .plan-sub { border-color: #385165; }
.pricing-page .featured li::before { border-color: #80b2ff; }
.pricing-page .featured .btn-primary { background: #fff; color: #142c40; }
.pricing-page .featured .btn-primary:hover { background: #e4efff; }
.pricing-page .region-note { text-align: center; margin-top: 25px; font-size: 11px; }
.billing-details { max-width: 800px; margin: 12px auto 0; text-align: center; font-size: 12px; color: var(--muted); }
.billing-details summary { cursor: pointer; color: var(--ink); padding: 12px; }
.billing-details .billing-note { font-size: 11px; line-height: 1.9; }
.pricing-page .compare { margin-top: 72px; padding-top: 50px; border-top: 1px solid #dce6ee; }
.compare-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 26px; }
.compare-heading h2 { margin: 0; font-size: 32px; }.compare-heading p { margin: 0; font-size: 12px; }
.pricing-page .compare-wrap { border: 1px solid #dce6ee; border-radius: 15px; background: #fff; }
.pricing-page .compare table { min-width: 760px; font-size: 12px; }
.pricing-page .compare th,.pricing-page .compare td { padding: 17px 20px; }
.pricing-page .compare thead th { background: #eef3f8; font-size: 13px; }
.pricing-page .compare .hl { background: #e6effd; color: #0b58bd; }
.pricing-page .wyg { padding: 85px 0; }
.pricing-page .wyg .section-head h2 { font-size: 38px; }
.pricing-page .wyg .section-head p { font-size: 15px; }
.pricing-page .facts-copy p { font-size: 14px; }.pricing-page .facts-copy p+p { font-size: 12px; }
.pricing-page .spec-label { border: 1px solid #cfdeea; border-radius: 16px; box-shadow: 0 20px 50px -40px #25446480; }
.pricing-page .spec-rows dt { font-size: 13px; }.pricing-page .spec-rows dd { font-size: 12px; line-height: 1.85; }
.pricing-page .print-list h3 { font-size: 17px; }.pricing-page .print-list p { font-size: 13px; }
.pricing-page .sheet-demo { border: 1px solid #dce6ee; border-radius: 16px; }
@media(max-width:1050px) {
  .pricing-page .plan { padding: 29px 22px 24px; }
  .pricing-page .plan-price .amount { font-size: 43px; }
}
@media(max-width:900px) {
  .compare-scroll-hint { display: block; }
  .pricing-page .compare table { table-layout: fixed; width: 730px; min-width: 730px; }
  .pricing-page .compare th:first-child { position: sticky; left: 0; z-index: 1; width: 132px; min-width: 132px; max-width: 132px; background: #f7faff; box-shadow: 1px 0 #dce6ee; }
  .pricing-page .compare thead th:first-child { background: #eef3f8; z-index: 2; }
  .pricing-page .plan-grid { grid-template-columns: 1fr; max-width: 570px; margin: auto; gap: 30px; }
  .pricing-page .plan { padding: 30px; }
  .pricing-page .plan-desc { min-height: 0; }
  .pricing-page .plan-price .amount { font-size: 50px; }
  .pricing-page .plan-sub { min-height: 0; }
  .pricing-page .facts-grid { grid-template-columns: 1fr; gap: 30px; }
  .pricing-page .facts-copy { position: static; }
}
@media(max-width:600px) {
  .pricing-page .compare table { width: calc(300% - 264px); min-width: 0; }
  .pricing-page .page-hero { padding-top: 36px; }
  .pricing-page .page-hero h1 { font-size: 39px; }
  .pricing-page .billing-toggle { margin-bottom: 31px; }
  .pricing-page .toggle-group button { padding: 11px 17px; font-size: 12px; }
  .pricing-page .toggle-group .save { font-size: 8px; margin-left: 3px; }
  .pricing-page .plan { padding: 29px 25px 25px; }
  .pricing-page .plan li { font-size: 13px; }
  .compare-heading { flex-direction: column; align-items: start; gap: 10px; }
  .pricing-page .compare h2 { font-size: 29px; }
  .pricing-page .compare th,.pricing-page .compare td { padding: 14px; }
  .pricing-page .wyg { padding-top: 60px; }.pricing-page .wyg-block+.wyg-block { margin-top: 55px; padding-top: 45px; }
  .pricing-page .spec-label { padding: 22px; }
  .pricing-page .spec-rows div { grid-template-columns: 1fr; gap: 4px; }
}
