.hero-copy p.hero-trial { margin-top:14px; font-size:16px; color:var(--blue); font-weight:600; }
.pricing-section { --future-text:#626f84; background:#edf2ff; border-block:1px solid #d6dff3; }
.pricing-page { padding-top:60px; }
.pricing-intro { max-width:800px; }
.pricing-intro p { margin-top:22px; color:var(--muted); font-size:18px; }
.free-services { margin-top:28px; padding:32px 36px; background:white; border:1px solid #b3c5ee; border-radius:18px; }
.free-services h3,.request-costs h3 { font-size:24px; }
.free-services h3 { color:var(--blue); }
.free-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:0; margin:20px 0 0; list-style:none; }
.free-service-grid li { display:flex; align-items:flex-start; gap:12px; color:var(--navy); font-size:18px; font-weight:600; }
.free-service-grid .feature-check { flex-shrink:0; margin-top:3px; }
.free-service-note { margin-top:18px; color:var(--muted); max-width:70ch; }
.free-trial { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.free-trial-note { color:var(--navy); max-width:70ch; }
.free-trial .button { flex-shrink:0; }
.free-start { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:36px; padding:32px 36px; background:var(--navy); color:white; border-radius:18px; }
.free-start h2,.free-start h3 { font-size:clamp(24px,2.5vw,32px); line-height:1.2; }
.free-start p { margin-top:14px; color:#d7e4ff; }
.free-start .button { background:white; color:var(--navy); flex-shrink:0; }
.free-start .button:hover { background:#ddf1ff; }
.free-start :focus-visible { outline-color:var(--sky); }
.compact-start { margin-top:0; }
.pricing-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 24px; margin-top:20px; color:var(--muted); }
.pricing-summary a { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); }
.pricing-toolbar { margin:40px 0 28px; }
.pricing-period { display:inline-flex; gap:4px; padding:5px; border:1px solid #cdd8ed; border-radius:12px; background:white; flex-shrink:0; }
.pricing-period button { min-height:48px; border:0; border-radius:8px; padding:10px 22px; background:transparent; color:var(--muted); font-weight:600; }
.pricing-period button[aria-pressed="true"] { background:var(--blue); color:white; }
.year-discount { display:inline-block; margin-left:8px; padding:3px 8px; border-radius:5px; background:#ddf1ff; color:var(--navy); font-size:13px; font-weight:700; line-height:1.4; }
.pricing-period button[aria-pressed="true"] .year-discount { background:white; color:var(--blue); }
.period-explanation { color:var(--muted); margin-top:16px; max-width:70ch; }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.plan-card { display:flex; flex-direction:column; align-items:stretch; padding:30px; background:white; border:1px solid #cdd8ed; border-radius:18px; }
.plan-card h3 { font-size:28px; }
.plan-description { margin-top:14px; color:var(--muted); min-height:52px; }
.plan-old-price { margin-top:28px; color:var(--muted); font-size:16px; line-height:1.4; }
.plan-old-price:not([hidden]) + .plan-price { margin-top:8px; }
.plan-saving { margin-top:10px; font-size:14px; color:var(--blue); font-weight:600; }
.plan-price { font-size:20px; line-height:1.2; margin-top:28px; color:var(--navy); }
.plan-price strong { font-size:clamp(34px,3vw,44px); letter-spacing:-.035em; }
.plan-term { margin-top:8px; color:var(--muted); font-size:14px; }
.plan-quota { margin-top:24px; color:var(--ink); }
.plan-quota strong { font-size:22px; }
.plan-quota span { display:block; color:var(--muted); font-size:14px; margin-top:4px; }
.plan-card .plan-cta { width:100%; margin-top:24px; }
.plan-cta[aria-disabled="true"] { background:#e7ebf4; color:var(--muted); cursor:not-allowed; }
.plan-availability,.checkout-availability { margin-top:12px; color:var(--muted); font-size:14px; }
.plan-features { list-style:none; padding:20px 0 0; margin:24px 0 0; border-top:1px solid var(--line); }
.plan-features li { position:relative; padding-left:24px; color:var(--muted); }
.plan-features li::before { content:"✓"; position:absolute; left:0; color:var(--blue); font-weight:700; }
.plan-features li + li { margin-top:12px; }
.renewal-note { color:var(--muted); margin-top:24px; font-size:14px; max-width:950px; }
.team-access-note { margin-top:22px; color:var(--muted); font-size:14px; max-width:70ch; }
.request-costs { margin-top:40px; }
.request-definition { margin-top:18px; }
.request-cost-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0; }
.request-cost-grid p { padding:20px 0; border-block:1px solid #cdd8ed; }
.request-cost-grid strong { display:block; color:var(--blue); font-size:22px; }
.request-cost-grid span { display:block; margin-top:8px; color:var(--muted); }
.request-costs > p { color:var(--muted); max-width:70ch; }
.request-costs > p + p { margin-top:16px; }
.pricing-comparison { margin-top:48px; padding:36px; background:white; border:1px solid #cdd8ed; border-radius:20px; }
.pricing-comparison h3 { font-size:clamp(28px,3vw,36px); }
.balance-note { margin-top:18px; color:var(--muted); font-size:14px; max-width:70ch; }
.balance-note strong { color:var(--navy); }
.pricing-matrix { margin:20px 0 24px; }
.feature-header,.feature-row { display:grid; grid-template-columns:2.2fr repeat(4,1fr); gap:16px; align-items:start; padding:18px 20px; border-bottom:1px solid #cdd8ed; }
.feature-header { color:var(--navy); font-weight:650; background:#edf2ff; border-bottom:0; border-radius:10px; }
.feature-row[data-feature="quota"] { background:#f2f6ff; }
.feature-row[data-feature="quota"] .feature-name,.feature-row[data-feature="quota"] .feature-value { font-weight:650; color:var(--blue); }
.feature-row { font-size:15px; }
.feature-name { font-weight:500; }
.feature-value { color:var(--navy); }
.feature-check { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--blue); color:white; font-size:15px; font-weight:700; line-height:1; }
.feature-value.unavailable { color:var(--muted); }
.future-row { font-size:14px; }
.feature-value.future,.future-row .feature-name { color:var(--future-text); }
.future-row .feature-name { font-weight:400; }
.feature-row:not(.future-row) + .future-row { padding-top:30px; }
.feature-plan { display:none; }
.pricing-back { margin-top:24px; }
.pricing-back a { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); }
.public-session-error { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.public-session-error .button { flex-shrink:0; }
.plan-cta:disabled { opacity:.65; cursor:wait; }
.pricing-period button:disabled { opacity:.6; cursor:not-allowed; }
.plan-card.selected-plan { border-color:var(--blue); box-shadow:0 0 0 1px var(--blue); }
.pricing-checkout { margin-top:40px; padding:36px; border:1px solid #b3c5ee; border-radius:20px; background:white; color:var(--ink); scroll-margin-top:24px; }
.pricing-checkout h2 { font-size:32px; }
.checkout-status:not(:empty),.checkout-account,.checkout-current { margin-top:16px; }
.checkout-status-warning { color:#854d0e; font-weight:600; }
.checkout-current,.checkout-account { color:var(--muted); overflow-wrap:anywhere; }
.checkout-form { margin-top:28px; }
.checkout-packages { padding-left:20px; margin-top:12px; color:var(--muted); font-size:14px; }
.checkout-packages li + li { margin-top:6px; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.checkout-form label { display:block; font-weight:600; }
.checkout-form input,.checkout-form select { display:block; width:100%; min-height:48px; margin-top:8px; padding:12px; border:1px solid #b3c5ee; border-radius:10px; background:white; color:var(--ink); font:inherit; }
.checkout-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; margin:20px 0 28px; border-block:1px solid var(--line); }
.checkout-summary strong { font-size:32px; color:var(--navy); white-space:nowrap; }
.checkout-company,.checkout-inn { margin-top:20px; max-width:680px; }
#payer-note,.checkout-payment-note,.checkout-terms { margin-top:14px; color:var(--muted); font-size:14px; }
.checkout-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.sbp-badge { margin-left:10px; padding:2px 7px; border:1px solid currentColor; border-radius:4px; font-size:12px; font-weight:700; }
.checkout-error,.invoice-error { color:#9f1239; margin-top:16px; }
.checkout-invoice-ready { margin-top:20px; color:var(--navy); }
.checkout-invoices { margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
[data-invoices] { margin-top:18px; }
.checkout-invoice { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.checkout-invoice > div:first-child { margin-right:auto; }
.checkout-invoice p { color:var(--muted); font-size:14px; }
.invoice-actions { display:flex; align-items:center; gap:12px; }
.invoice-cancel { min-height:44px; padding:8px; background:transparent; color:var(--muted); border:0; text-decoration:underline; }
.pricing-checkout button:disabled { opacity:.6; cursor:not-allowed; }
.pricing-checkout[aria-busy="true"] button:disabled { cursor:wait; }
@media (max-width:1000px) {
  .header { gap:12px; } .nav { gap:14px; }
  .plan-card { padding:24px; } .plan-grid { gap:16px; } .plan-price strong { font-size:34px; }
  .plan-description { min-height:78px; } .free-start { padding:30px; }
  .feature-header,.feature-row { grid-template-columns:1.6fr repeat(4,1fr); gap:12px; }
}
@media (max-width:700px) {
  .header { display:grid; grid-template-columns:1fr auto; gap:8px; }
  .header .logo { grid-row:1; grid-column:1; }
  .header .nav { display:none; }
  .header .auth { grid-row:1; grid-column:2; gap:4px; margin:0; }
  .header .auth .button { font-size:13px; min-height:44px; padding:8px 6px; }
  .hero-register { width:100%; }
  .pricing-page { padding-top:36px; } .pricing-intro p { font-size:16px; margin-top:18px; }
  .free-services { padding:24px; } .free-service-grid { grid-template-columns:1fr; gap:16px; }
  .free-trial { display:block; } .free-trial .button { width:100%; margin-top:20px; padding-inline:14px; }
  .free-start { display:block; padding:26px; margin-top:28px; } .compact-start { margin-top:0; } .trial-break { display:none; }
  .free-start .button { width:100%; margin-top:24px; padding-inline:14px; }
  .pricing-toolbar { margin-top:28px; } .period-explanation { margin-top:18px; }
  .plan-grid { grid-template-columns:1fr; gap:16px; } .plan-card { padding:26px; }
  .plan-description { min-height:0; } .plan-price { margin-top:24px; } .plan-price strong { font-size:42px; }
  .request-costs { margin-top:32px; } .request-cost-grid { grid-template-columns:1fr; gap:0; }
  .request-cost-grid p + p { border-top:0; } .request-cost-grid p { padding:16px 0; }
  .pricing-comparison { padding:24px 18px; margin-top:32px; }
  .pricing-checkout { padding:24px; margin-top:28px; } .pricing-checkout h2 { font-size:28px; }
  .checkout-fields { grid-template-columns:1fr; gap:20px; } .checkout-summary { flex-wrap:wrap; }
  .checkout-actions .button { width:100%; } .checkout-invoice { gap:10px; } .invoice-actions { width:100%; }
  .feature-header { display:none; } .feature-row { grid-template-columns:1fr 1fr; gap:16px; padding:24px 14px; }
  .feature-name { grid-column:1 / -1; font-size:17px; } .feature-plan { display:block; color:var(--muted); font-size:13px; margin-bottom:4px; }
}
@media (prefers-reduced-motion:reduce) { .pricing-section * { transition:none !important; } }
