/* Pricing shares the receipt homepage identity */
.pricing-page { max-width:1200px; margin:0 auto; padding:0 clamp(16px,4vw,40px) var(--page-end-space); }
.pricing-page section { padding:0; margin:0; border:0; }
.pricing-page .pricing-intro { padding-top:clamp(128px,12vw,176px); padding-bottom:64px; }
.pricing-eyebrow { margin:0 0 20px; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.pricing-page h1 { max-width:15ch; margin:0; font:500 clamp(38px,5.6vw,76px)/1.04 var(--font); letter-spacing:-.045em; }
.pricing-lead { max-width:510px; margin:24px 0 0; color:var(--text-body); font-size:18px; line-height:1.6; }
.plan-billing { display:flex; align-items:center; justify-content:flex-end; margin-bottom:24px; }
.pricing-page .billing-toggle { display:inline-flex; margin:0; padding:4px; gap:2px; border:1px solid var(--line); border-radius:var(--radius); background:#f1f0ed; }
.pricing-page .toggle-btn { min-height:32px; padding:6px 12px; margin:0; font:500 12px/1.4 var(--font); color:var(--text); border:0; border-radius:var(--control-radius); background:transparent; white-space:nowrap; }
.pricing-page .toggle-btn.active { background:var(--brand-lime); color:var(--brand-dark); box-shadow:0 1px 3px #00000012; }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.plan-card { min-width:0; display:flex; flex-direction:column; padding:32px 28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.plan-card.plan-featured { background:var(--selection-bg); border-color:#d6ddc3; }
.pricing-page .plan-heading h2 { margin:0; font-size:28px; font-weight:500; letter-spacing:-.03em; }
.plan-heading p { min-height:45px; margin:10px 0 0; font-size:15px; line-height:1.5; color:var(--text-body); }
.plan-amount { display:flex; align-items:baseline; min-height:78px; margin-top:28px; font:500 clamp(42px,4vw,56px)/1.2 var(--font); letter-spacing:-.04em; }
.plan-amount .price { margin:0; font:inherit; color:inherit; }
.plan-amount .price > span:first-child { font-size:16px; font-weight:400; letter-spacing:0; color:var(--dim); }
.plan-amount .save-badge { display:none; }
.plan-period,.plan-period .price-period { margin:0; min-height:38px; font:400 12px/1.5 var(--font); color:var(--dim); }
.plan-cta { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:var(--control-tap-h); margin:20px 0 24px; padding:12px 20px; gap:14px; border:1px solid var(--line); border-radius:var(--radius); background:transparent; color:#111; font:500 14px/1.4 var(--font); text-decoration:none; }
.plan-featured .plan-cta { background:var(--brand-lime); border-color:var(--brand-lime); }
.plan-cta svg { width:17px; height:17px; flex:none; color:#111; }
.plan-cta:hover { background:var(--brand-lime); border-color:#111; color:#111; }
.plan-card ul { list-style:none; padding:24px 0 0; margin:auto 0 0; border-top:1px solid #11111120; display:grid; gap:14px; }
.plan-card li { display:flex; align-items:baseline; gap:10px; font-size:14px; line-height:1.5; }
.plan-card li::before { content:'✓'; color:#111; font-weight:600; }
.plan-note { margin:20px 0 0; max-width:660px; font-size:13px; color:var(--dim); line-height:1.65; }
.pricing-page .pricing-included { margin-top:80px; padding:48px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; gap:40px; }
.pricing-page .pricing-included h2,.pricing-page .pricing-questions h2 { margin:0; font-size:var(--public-section-size); line-height:1.15; font-weight:500; letter-spacing:-.035em; }
.included-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.included-grid h3 { margin:0 0 12px; font-size:16px; font-weight:600; }
.included-grid p { margin:0; font-size:16px; line-height:1.7; color:var(--text-body); }
.pricing-page .pricing-comparison { margin-top:32px; }
.pricing-comparison > details > summary { padding:24px 0; font-size:20px; font-weight:500; letter-spacing:-.02em; }
.comparison-hint { max-width:660px; color:var(--dim); font-size:14px; line-height:1.6; margin:0 0 24px; }
.pricing-page #pricing-table .pricing-table-scroll { overflow-x:auto; max-width:100%; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.pricing-page #pricing-table .pricing-table { width:100%; min-width:640px; max-width:none; table-layout:fixed; margin:0; border:0; }
.pricing-page #pricing-table .pricing-table th,.pricing-page #pricing-table .pricing-table td { font-size:14px; line-height:1.5; padding:16px; }
.pricing-page #pricing-table .pricing-table .pt-corner,.pricing-page #pricing-table .pricing-table .pt-row-label { width:34%; text-align:left; }
.pricing-page #pricing-table .pricing-table .pt-tier-head { width:22%; }
.pricing-page #pricing-table .pricing-table .pt-price { font-size:28px; }
.pricing-page #pricing-table .pricing-table .pt-price > span { font-size:12px; }
.pricing-page #pricing-table .pricing-table .pt-period { display:block; white-space:normal; font-size:11px; min-height:36px; }
.pricing-page .pt-cta,.pricing-page .pt-price .save-badge { display:none; }
.pricing-page #pricing-table .pricing-table .pt-featured { background:#fafbf4; }
.pricing-page #pricing-table .pricing-table .pt-group-label { padding-top:24px; background:#f5f5f1; font-size:12px; font-weight:600; color:var(--text); }
.pricing-page .pricing-table .pt-check { color:#111; }
.pricing-page .pricing-questions { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-top:72px; padding-top:48px; border-top:1px solid var(--line); }
.pricing-questions details { border-bottom:1px solid var(--line); padding:0 0 20px; margin-bottom:20px; }
.pricing-questions summary { font-size:16px; font-weight:500; }
.pricing-questions details p { margin:16px 0 0; max-width:620px; font-size:16px; line-height:1.8; color:var(--text-body); }
.pricing-questions a { color:var(--text); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
 .plan-card { padding:26px 20px; }
 .pricing-page .pricing-included,.pricing-page .pricing-questions { grid-template-columns:1fr; gap:32px; }
 .plan-amount { font-size:44px; }
}
@media(max-width:680px) {
 .pricing-page .pricing-intro { padding-top:124px; padding-bottom:40px; }
 .pricing-lead { font-size:16px; max-width:34ch; }
 .plan-grid { grid-template-columns:1fr; gap:20px; }
 .plan-card { padding:28px; }
 .plan-heading p { min-height:0; }
 .plan-amount { margin-top:24px; min-height:60px; font-size:48px; }
 .plan-period,.plan-period .price-period { min-height:24px; }
 .plan-cta { margin-top:16px; }
 .included-grid { grid-template-columns:1fr; gap:26px; }
 .pricing-page .pricing-included { margin-top:56px; padding:36px 0; }
 .pricing-page .pricing-questions { margin-top:48px; padding-top:36px; }
}
