/* Pricing comparison: quiet surfaces, generous spacing, restrained blue. */
html body .pricing-section { background:#f5f5f7 !important; padding:72px 0 96px !important; color:#1d1d1f; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; }
html body .pricing-section > .container { max-width:1320px !important; padding:0 40px !important; }
html body .pricing-section .pricing-page-title { font-size:clamp(23px,2.4vw,32px) !important; font-weight:700; letter-spacing:-.045em; line-height:1.3; max-width:960px; margin:0 auto 24px !important; color:#1d1d1f !important; }
html body .pricing-section .pricing-intro { max-width:840px; margin:0 auto 40px; font-size:15px; line-height:1.9; color:#6e6e73; }
html body .pricing-section .pricing-quick-summary { background:#fff !important; border:0 !important; border-radius:24px; box-shadow:none !important; padding:30px; max-width:100% !important; }
html body .pricing-section .pricing-quick-facts { gap:0; }
html body .pricing-section .pricing-quick-fact { border:0 !important; border-right:1px solid #e8e8ed !important; border-radius:0; background:transparent !important; padding:12px 22px; color:#6e6e73; font-size:12px; }
html body .pricing-section .pricing-quick-fact:last-child { border-right:0 !important; }
html body .pricing-section .pricing-quick-fact strong { display:block; color:#1d1d1f; font-size:18px; font-weight:600; letter-spacing:-.03em; margin-bottom:8px; }
html body .pricing-section .pricing-quick-actions { margin-top:26px; gap:18px; }
html body .pricing-section .pricing-primary-action { background:#0071e3 !important; border:0 !important; border-radius:999px !important; box-shadow:none !important; padding:13px 25px; font-weight:500; }
html body .pricing-section .pricing-secondary-action { color:#0066cc !important; background:transparent !important; border:0 !important; box-shadow:none !important; font-weight:500; }
html body .pricing-section .pricing-jump-nav { gap:8px; margin:24px auto 56px; }
html body .pricing-section .pricing-jump-nav a { background:transparent; border:0; border-radius:999px; padding:10px 17px; font-size:13px; font-weight:500; color:#515154; }
html body .pricing-section .pricing-jump-nav a:hover { background:#e8e8ed; color:#1d1d1f; }
html body .pricing-section .pricing-heading-row { margin:56px 0 24px !important; }
html body .pricing-section .pricing-heading-row hr { display:none; }
html body .pricing-section .pricing-heading-label { white-space:normal; font-size:clamp(20px,2vw,28px) !important; font-weight:600 !important; letter-spacing:-.035em; color:#1d1d1f; }
html body .pricing-section .usage-pricing-panel { background:#fff !important; border:0 !important; border-radius:24px; box-shadow:none !important; padding:28px; overflow:hidden; }
html body .pricing-section .usage-pricing-subhead { color:#1d1d1f; font-size:18px; font-weight:600; letter-spacing:-.02em; margin:8px 0 18px; }
html body .pricing-section .usage-pricing-table-wrap { padding:0 0 12px; }
html body .pricing-section .usage-pricing-table-frame { border:0; border-radius:0; overflow:visible; min-width:1100px; }
html body .pricing-section .pricing-table-container { border:0 !important; border-radius:24px !important; box-shadow:none !important; padding:12px 24px 20px; margin:0 0 24px; background:#fff !important; }
html body .pricing-section .pricing-table,
html body .pricing-section .usage-pricing-table { border-collapse:separate; border-spacing:0; background:#fff; color:#1d1d1f; font-variant-numeric:tabular-nums; }
html body .pricing-section table th,
html body .pricing-section table td { border-right:0 !important; border-left:0 !important; border-top:0 !important; border-bottom:1px solid #e8e8ed !important; padding:19px 14px !important; font-size:13px !important; line-height:1.5; }
html body .pricing-section table thead th { background:#fff !important; color:#86868b !important; font-size:12px !important; font-weight:500 !important; padding-top:20px !important; padding-bottom:20px !important; }
html body .pricing-section table tbody td { background:#fff !important; text-align:right; white-space:nowrap; }
html body .pricing-section table tbody th,
html body .pricing-section table tr > :first-child { position:sticky; left:0; z-index:1; background:#fff !important; text-align:left !important; min-width:190px; color:#1d1d1f; font-weight:500; box-shadow:8px 0 12px -12px #86868b; }
html body .pricing-section table thead th:first-child { z-index:2; }
html body .pricing-section table tbody tr:hover > * { background:#f5f9ff !important; }
html body .pricing-section table tbody tr:last-child > * { border-bottom:0 !important; }
html body .pricing-section .usage-pricing-main { color:#1d1d1f !important; font-size:13px !important; font-weight:500 !important; }
html body .pricing-section .card-type-family-main { font-size:13px; font-weight:500; }
html body .pricing-section .card-type-family-list { font-size:11px; color:#86868b; line-height:1.8; }
html body .pricing-section .pricing-scroll-hint,
html body .pricing-section .usage-pricing-note { color:#6e6e73; font-size:12px; line-height:1.8; }
html body .pricing-section .tab-buttons { border:0; background:#e8e8ed; padding:5px; border-radius:999px; width:fit-content; gap:3px; }
html body .pricing-section .tab-btn { border:0; background:transparent; border-radius:999px; color:#515154; padding:10px 20px; }
html body .pricing-section .tab-btn.active { background:#fff; color:#1d1d1f; box-shadow:0 2px 5px #0000000d; }
html body .pricing-section :is(a,button,input,select):focus-visible { outline:3px solid #0071e3; outline-offset:4px; }
@media(max-width:700px) {
 html body .pricing-section { padding-top:40px !important; }
 html body .pricing-section > .container { padding:0 18px !important; }
 html body .pricing-section .pricing-quick-summary { padding:20px 12px; }
 html body .pricing-section .pricing-quick-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px 0; }
 html body .pricing-section .pricing-quick-fact { padding:10px; }
 html body .pricing-section .pricing-quick-fact:nth-child(2) { border-right:0 !important; }
 html body .pricing-section .pricing-quick-fact strong { font-size:15px; }
 html body .pricing-section .pricing-jump-nav { justify-content:flex-start; flex-wrap:nowrap; overflow:auto; margin-bottom:32px; }
 html body .pricing-section .pricing-jump-nav a { white-space:nowrap; }
 html body .pricing-section .usage-pricing-panel { padding:20px 14px; border-radius:20px; }
 html body .pricing-section .pricing-table-container { padding:10px 14px 16px; border-radius:20px !important; }
 html body .pricing-section table tr > :first-child { min-width:155px; }
}
@media(prefers-reduced-motion:reduce) { html body .pricing-section * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
html body .pricing-section .usage-pricing-table { table-layout:auto; }
html body .pricing-section .usage-pricing-table tr > :first-child { width:235px !important; min-width:235px !important; white-space:normal; }
html body .pricing-section #usage-small-lot-table { min-width:1300px; }
html body .pricing-section .usage-pricing-table-frame { min-width:0; }
html body .pricing-section .usage-pricing-table { min-width:1180px; }
html body .pricing-section .usage-pricing-table tbody td { min-width:88px; }
