/* Pricing uses the same restrained surfaces and readable type as the service pages. */
.pp-pricing { --pp-soft:color-mix(in srgb,var(--brand) 5%,var(--card)); color:var(--text); }
.pp-pricing *, .pp-pricing *::before, .pp-pricing *::after { box-sizing:border-box; }
.pp-pricing [hidden] { display:none!important; }
.pp-pricing h1,.pp-pricing h2,.pp-pricing h3 { text-align:left; letter-spacing:-.035em; }
.pp-pricing h1 { font-size:clamp(2rem,4.15vw,3rem); line-height:1.1; margin:0 0 22px; }
.pp-pricing h2 { font-size:clamp(1.55rem,2.8vw,2.1rem); line-height:1.2; margin:0 0 14px; }
.pp-pricing h3 { font-size:1.08rem; line-height:1.35; margin:0 0 12px; }
.pp-pricing p { line-height:1.65; }
.pp-pricing a:focus-visible,.pp-pricing button:focus-visible,.pp-pricing summary:focus-visible { outline:3px solid var(--brand-accent); outline-offset:4px; }
.pp-pricing .btn { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; text-align:center; }
.pp-breadcrumb { display:flex; align-items:center; gap:10px; margin:10px 3px 20px; color:var(--muted); font-size:.76rem; }
.pp-breadcrumb a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.pp-hero { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:58px; padding:42px 38px; border:1px solid var(--stroke); border-radius:24px; background:var(--card); }
.pp-lead { font-size:1rem; color:var(--muted); max-width:600px; margin:0 0 20px; }
.pp-link { display:inline-flex; align-items:center; gap:10px; color:var(--brand-accent); font-size:.89rem; font-weight:700; line-height:1.5; min-height:38px; text-decoration:none; text-underline-offset:4px; }
.pp-link:hover { text-decoration:underline; }
.pp-trial { padding:25px; background:var(--pp-soft); border:1px solid var(--stroke); border-radius:18px; }
.pp-trial h2 { font-size:1.32rem; margin:0 0 12px; }
.pp-trial p { font-size:.89rem; margin:0 0 12px; }
.pp-pricing .pp-fine { font-size:.77rem; color:var(--muted); margin:0; line-height:1.65; }
.pp-plans-section { margin:55px 0 0; }
.pp-plans-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:26px; }
.pp-plans-heading h2 { font-size:1.6rem; }
.pp-plans-heading p { margin:0; color:var(--muted); font-size:.9rem; }
.pricing-currency-form { display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:none; }
.pricing-currency-label { font-size:.74rem; color:var(--muted); }
.pricing-currency-switch { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--stroke); border-radius:999px; background:var(--card); }
.pricing-currency-button { appearance:none; border:0; border-radius:999px; background:transparent; color:var(--text); font:inherit; font-size:.82rem; font-weight:650; padding:10px 15px; min-height:44px; cursor:pointer; }
.pricing-currency-button:hover { background:var(--pp-soft); }
.pricing-currency-button[aria-pressed="true"] { background:var(--brand); color:#fff; }
.pricing-currency-note { text-align:left; font-size:.77rem; color:var(--muted); margin:19px 0 0; }
.pp-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#pricing-plans { scroll-margin-top:25px; }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); align-items:stretch; gap:18px; }
.pricing-plan-card { display:flex; flex-direction:column; min-width:0; padding:27px; border:1px solid var(--stroke); border-radius:21px; background:var(--card); }
.pricing-plan-card--featured { border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--stroke)); background:var(--pp-soft); }
.pricing-plan-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; min-height:32px; margin-bottom:22px; }
.pp-pricing .pricing-plan-name { margin:0; font-size:1.12rem; }
.pricing-plan-badge { color:var(--brand-accent); font-size:.73rem; font-weight:600; line-height:1.5; }
.pp-pricing .pricing-plan-price { font-size:clamp(2.25rem,4.2vw,3rem); letter-spacing:-.05em; font-weight:800; color:var(--text); line-height:1.1; margin:0 0 28px; }
.pricing-plan-price-unit { display:inline-block; margin-left:5px; font-size:.84rem; letter-spacing:0; font-weight:450; color:var(--muted); }
.pp-pricing .pricing-plan-allowance { margin:0; padding-top:22px; border-top:1px solid var(--stroke); }
.pricing-plan-allowance strong { color:var(--text); display:block; font-size:1.13rem; line-height:1.3; margin-bottom:6px; }
.pricing-plan-allowance span { display:block; font-size:.82rem; color:var(--muted); line-height:1.6; max-width:230px; }
.pricing-plan-description { font-size:.81rem; color:var(--muted); margin:12px 0 0; }
.pp-credit-link { align-self:flex-start; margin:10px 0 22px; font-size:.77rem; }
.pricing-plan-bottom { margin-top:auto; }
.pricing-plan-cta { width:100%; }
.pricing-plan-bottom p { font-size:.73rem; text-align:center; color:var(--muted); margin:12px 0 0; }
.pp-unavailable { padding:35px; border:1px solid var(--stroke); border-radius:20px; background:var(--card); }
.pp-unavailable p { margin:0; }
.pp-section { margin:72px 0; scroll-margin-top:25px; }
.pp-section-heading { max-width:675px; margin-bottom:30px; }
.pp-section-heading p { font-size:.95rem; color:var(--muted); margin:0; }
.pp-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.pp-product { padding:28px; border:1px solid var(--stroke); border-radius:21px; background:var(--card); }
.pp-product-title { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.pp-product-title h3 { font-size:1.23rem; margin:0; }
.pp-product-icon { display:grid; place-items:center; width:37px; height:37px; flex:none; border-radius:11px; background:var(--pp-soft); color:var(--brand-accent); font-size:1.7rem; line-height:1; }
.pp-product-icon svg { width:20px; height:20px; }
.pp-product p { font-size:.9rem; color:var(--muted); margin:0 0 20px; }
.pp-product ul { display:grid; gap:12px; padding:0; margin:0 0 23px; list-style:none; font-size:.87rem; }
.pp-product li { position:relative; padding-left:21px; line-height:1.6; }
.pp-product li::before { content:'✓'; position:absolute; left:0; color:var(--brand-accent); font-size:.8rem; font-weight:750; }
.pp-pricing .pp-shared-note { font-size:.8rem; color:var(--muted); margin:18px 0 0; }
.pricing-credit-section { padding:36px; border:1px solid var(--stroke); border-radius:24px; background:var(--card); }
.pricing-credit-rules { display:grid; grid-template-columns:1fr 1fr; gap:45px; }
.pricing-credit-rule { min-width:0; }
.pricing-credit-rule h3 { margin:0 0 13px; font-size:1rem; }
.pp-pricing .pricing-credit-rate { margin:0 0 13px; font-size:.85rem; }
.pricing-credit-rate strong { display:block; font-size:1.75rem; line-height:1.2; letter-spacing:-.035em; margin-bottom:6px; }
.pricing-credit-detail { font-size:.85rem; color:var(--muted); margin:0; }
.pricing-credit-example { margin-top:30px; padding-top:24px; border-top:1px solid var(--stroke); }
.pricing-credit-example h3 { font-size:.87rem; font-weight:600; margin:0 0 20px; }
.pricing-credit-equation { display:flex; align-items:center; gap:clamp(14px,3vw,40px); margin-bottom:20px; }
.pricing-credit-term { display:flex; flex-direction:column; gap:5px; }
.pricing-credit-term strong { font-size:2.1rem; letter-spacing:-.04em; line-height:1.15; }
.pricing-credit-term span { font-size:.83rem; color:var(--muted); }
.pricing-credit-operator { color:var(--muted); font-size:1.45rem; }
.pricing-credit-total { padding:12px 20px; border-radius:13px; background:var(--pp-soft); }
.pp-pricing .pricing-credit-assumptions { font-size:.76rem; color:var(--muted); margin:0; max-width:780px; }
.pp-pricing #faq { margin:72px 0; }
.pp-pricing #faq > h2 { margin-bottom:28px; }
.pp-pricing .faq-grid { max-width:none; margin:0; gap:11px; }
.pp-pricing #faq details.surface { border:1px solid var(--stroke); border-radius:15px; background:var(--card); box-shadow:none; }
.pp-pricing #faq details.surface::before { display:none; }
.pp-pricing #faq summary { font-size:.94rem; padding:21px 23px; }
.pp-pricing #faq .faq-content { font-size:.87rem; line-height:1.65; padding:18px 23px 22px; }
.pp-pricing #faq .faq-content p:last-child { margin-bottom:0; }
.pp-contact { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:30px 0; margin:0 0 25px; border-top:1px solid var(--stroke); }
.pp-contact h2 { font-size:1.5rem; }
.pp-contact p { color:var(--muted); font-size:.91rem; margin:0; max-width:660px; }
.pp-contact > a { flex:none; }
@media(max-width:900px) { .pp-hero { gap:30px; padding:32px; } .pp-plans-heading { flex-direction:column; align-items:flex-start; } .pricing-plan-card { padding:24px; } }
@media(max-width:700px) { .pp-hero { grid-template-columns:1fr; padding:28px 24px; gap:28px; } .pp-hero h1 { font-size:clamp(2rem,6.7vw,2.6rem); } .pp-trial { padding:21px; } .pp-product-grid,.pricing-credit-rules { grid-template-columns:1fr; gap:22px; } .pp-product { padding:24px; } .pricing-credit-rule + .pricing-credit-rule { padding-top:24px; border-top:1px solid var(--stroke); } .pricing-credit-section { padding:28px 24px; } .pp-section,.pp-pricing #faq { margin:50px 0; } .pp-contact { flex-direction:column; align-items:flex-start; gap:16px; } }
@media(max-width:400px) { .pp-hero { padding:25px 20px; } .pp-hero h1 { font-size:2rem; } .pricing-currency-button { padding:10px 13px; } .pricing-credit-section { padding:25px 20px; } .pricing-credit-equation { gap:10px; justify-content:space-between; } .pricing-credit-term strong { font-size:1.75rem; } .pricing-credit-term span { font-size:.71rem; } .pricing-credit-total { padding:10px; } .pricing-credit-operator { font-size:1.1rem; } }
@media(prefers-reduced-motion:reduce) { .pp-pricing * { scroll-behavior:auto!important; transition:none!important; } }
