/* Scoped SaaS content shares the original paper, type and linework. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.policy-footer-nav{display:flex;flex-wrap:wrap;gap:18px 30px;margin:40px 10px 0;padding:24px 0;border-top:1px solid var(--line);font:11px var(--mono);color:#55646e}
.policy-footer-nav a,.policy-tabs a,.policy-index a,.policy-sources a,.purchase-legal a{transition:color .2s}
.policy-footer-nav a:hover,.policy-tabs a:hover,.policy-index a:hover,.policy-sources a:hover,.purchase-legal a:hover{color:#326b8c}
.policy-footer-nav a[aria-current],.policy-tabs a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.pricing-section{position:relative;z-index:3;background:var(--paper)}
.pricing-home{padding-top:100px;padding-bottom:110px;border-top:1px solid var(--line)}
.pricing-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}
.pricing-heading .eyebrow{margin-bottom:28px;color:#536974}
.pricing-heading>p{max-width:280px;font-size:15px;line-height:1.8;color:#56656f}
.billing-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:30px}
.billing-switch{flex-shrink:0;gap:4px;padding:5px;border:1px solid #c7d5de;border-radius:100px;background:#eaf0f4}
.billing-switch:not([hidden]){display:inline-flex}
.billing-switch button{display:flex;align-items:center;gap:9px;border:0;border-radius:100px;padding:12px 17px;background:transparent;color:#486273;font:12px var(--mono);cursor:pointer;white-space:nowrap}
.billing-switch button[aria-pressed="true"]{background:#2b4b5e;color:#fff;box-shadow:0 3px 10px #243f511a}
.billing-switch button>span{padding:5px 7px;border-radius:100px;background:#d8e7df;color:#285440;font-size:9px}
.billing-switch button:focus-visible{outline:2px solid #527d94;outline-offset:3px}
.billing-explanation{max-width:430px;font-size:12px;line-height:1.8;color:#546875}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.price-card{display:flex;flex-direction:column;position:relative;min-width:0;padding:32px 27px 23px;border:1px solid #d5dfe5;border-radius:8px;background:linear-gradient(140deg,#fbfcfd,#f0f4f7);box-shadow:0 16px 38px #344c5a06;transition:transform .3s,border-color .3s,box-shadow .3s}
.price-card-featured{border-color:#99b6c9;background:linear-gradient(145deg,#e3edf4,#f6f9fb 68%);box-shadow:0 20px 46px #476b8210}
.price-card:hover{transform:translateY(-5px);border-color:#89aabd;box-shadow:0 24px 40px #344c5a0d}
.price-tag{font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#557083;margin-bottom:29px}
.price-card h3{font-size:32px;letter-spacing:-.04em;font-weight:400}
.price-description{font-size:14px;line-height:1.75;color:#54646e;min-height:48px;margin-top:13px;max-width:290px}
.price-features{list-style:none;padding:14px 0 0;margin:14px 0 6px;border-top:1px solid #d5dfe5;font-size:12px;line-height:1.65;color:#3d5361}
.price-features li{position:relative;padding-left:14px;margin-bottom:6px}
.price-features li::before{content:"·";position:absolute;left:2px;top:0;font-weight:700;color:#2b4b5e}
.price-view{display:flex;flex-direction:column;flex:1}
.price-view[hidden]{display:none!important}
.price-amount{display:flex;align-items:baseline;gap:4px;padding:26px 0;margin:7px 0 18px;border-bottom:1px solid #cedbe3;font-size:clamp(42px,3.8vw,60px);line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-currency{font-size:.48em;align-self:flex-start;margin-top:7px;margin-right:2px;letter-spacing:0}
.price-period{font-size:12px;letter-spacing:0;color:#596b78;margin-left:8px}
.price-billing-details{min-height:74px;margin-bottom:20px}
.price-total{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:13px;line-height:1.8;color:#435f70}
.price-total s{color:#73848f;text-decoration-thickness:1px}.price-total strong{font-weight:500}
.price-saving{margin-top:7px;font-size:11px;line-height:1.65;color:#39705a}
.package-quantity{margin:0 0 22px}
.package-quantity label{display:block;margin-bottom:9px;font:10px var(--mono);color:#496477}
.quantity-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;min-height:44px;border:1px solid #b8cad5;border-radius:7px;overflow:hidden;background:#f9fbfc}
.quantity-stepper button{border:0;background:transparent;color:#244a60;font-size:21px;cursor:pointer}
.quantity-stepper button:disabled{opacity:.35;cursor:default}
.quantity-stepper input{width:100%;min-width:0;border:0;border-inline:1px solid #d9e2e8;background:transparent;text-align:center;font:16px var(--mono);color:var(--ink);appearance:textfield;-moz-appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-stepper button:focus-visible,.quantity-stepper input:focus-visible{outline:2px solid #527d94;outline-offset:-3px}
.quantity-status{margin-top:8px;font-size:11px;line-height:1.65;color:#536b7a}
.quantity-status[data-error]{color:#a23636}
.price-card[data-package-unit-cents] .price-amount{flex-wrap:wrap;row-gap:8px}
.price-card[data-package-unit-cents] [data-price-value]{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.price-buy[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.price-buy{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #94acba;border-radius:100px;min-height:50px;padding:15px 20px;margin-top:auto;font:11px var(--mono);color:#203f50;transition:background .2s,color .2s,border-color .2s}
.price-card-featured .price-buy{background:#2b4b5e;color:#fff;border-color:#2b4b5e}
.price-buy:hover{background:#203f50;border-color:#203f50;color:#fff}
.price-buy span:last-child{font-size:17px;line-height:1}
.price-caption{font:9px var(--mono);color:#5f7280;text-align:center;margin-top:16px}
.pricing-notes{max-width:970px;margin-top:26px;color:#52616c;font-size:12px;line-height:1.85}
.pricing-notes p+p{margin-top:8px}
.pricing-policies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;border-block:1px solid var(--line)}
.pricing-policies a{display:flex;flex-direction:column;gap:8px;padding:22px 20px;color:#415c6d;transition:background .2s,color .2s}
.pricing-policies a+a{border-left:1px solid var(--line)}
.pricing-policies strong{font-size:14px;font-weight:400;line-height:1.5}
.pricing-policies span{font-size:11px;line-height:1.65;color:#596b77}
.pricing-policies a:hover{background:#eaf0f4;color:#225c7a}
.pricing-policies a:focus-visible{outline:2px solid #527d94;outline-offset:-3px}
.policy-section>p+ul{margin-top:22px}
.pricing-home>.text-link{margin-top:22px}
.policy-page .header{background:#f6f8faf2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.policy-page .header nav a{color:#52616c}
.policy-page .header nav a[aria-current]{color:var(--ink)}
.policy-main{max-width:1420px;margin:auto;padding:160px 8.3vw 110px}
.policy-hero{max-width:1020px}
.policy-hero>.eyebrow{color:#536974;margin-bottom:32px}
.policy-hero h1{font-size:clamp(44px,6.2vw,84px);letter-spacing:-.045em;line-height:1.06}
.policy-hero h1 span{color:#73848f}
.policy-intro{font-size:18px;line-height:1.8;color:#4d5e69;max-width:810px;margin-top:32px}
.policy-date{font:10px var(--mono);color:#61707a;margin-top:30px}
.policy-tabs{display:flex;flex-wrap:wrap;gap:16px 28px;padding:24px 0;margin:45px 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:11px var(--mono);color:#566771}
.policy-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:65px;align-items:start}
.policy-index{position:sticky;top:110px;padding:5px 0 25px}
.policy-index>.eyebrow{color:#5e707c;margin-bottom:22px}
.policy-index nav{display:flex;flex-direction:column;gap:15px}
.policy-index a{font-size:12px;line-height:1.6;color:#52636e}
.policy-article{min-width:0}
.policy-notice{padding:26px 28px;margin-bottom:50px;border-left:2px solid #89aabd;background:#eaf0f4;border-radius:0 5px 5px 0}
.policy-notice h2{font-size:19px;font-weight:400;line-height:1.4;letter-spacing:-.015em;margin-bottom:12px}
.policy-notice p{font-size:14px;line-height:1.85;color:#455d6c}
.policy-section{padding:34px 0 14px;border-top:1px solid var(--line);scroll-margin-top:110px}
.policy-section+.policy-section{margin-top:28px}
.policy-section h2{font-size:26px;line-height:1.3;letter-spacing:-.025em;margin-bottom:22px}
.policy-section>p,.policy-section li{font-size:16px;line-height:1.9;color:#43535e;overflow-wrap:anywhere}
.policy-section>p+p{margin-top:18px}
.policy-section ul{padding-left:20px;margin:0}
.policy-section li+li{margin-top:18px}
.scope-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.scope-facts .eyebrow{color:#607b8b}.scope-facts h3{font-size:20px;line-height:1.4;margin:16px 0 12px}.scope-facts p{font-size:13px;line-height:1.8;color:#536670}
.policy-faq details{border-top:1px solid var(--line);padding:19px 0}
.policy-faq summary{font-size:16px;line-height:1.6;cursor:pointer;padding-right:10px}
.policy-faq details p{font-size:15px;line-height:1.85;color:#4a5c67;margin-top:15px}
.policy-sources{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:24px;font-size:12px;line-height:1.65;color:#45677a}
.policy-sources a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-contact{margin-top:55px;padding:35px 0;border-top:1px solid var(--line)}
.policy-contact .eyebrow{color:#647681;margin-bottom:20px}.policy-contact h2{font-size:34px;margin-bottom:22px}.policy-contact>a{font-size:clamp(19px,2.5vw,27px);border-bottom:1px solid #9aadb9;padding-bottom:7px}.policy-contact>p:last-child{font-size:12px;line-height:1.8;color:#586c79;margin-top:25px}
.policy-page .pricing-section{margin-bottom:75px}
.purchase-dialog{width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #bacbd6;border-radius:12px;background:var(--paper);color:var(--ink);padding:42px 36px;box-shadow:0 30px 100px #182d4940}
.purchase-dialog::backdrop{background:#15293780;backdrop-filter:blur(5px)}
.purchase-dialog form{margin:0}.purchase-close{position:absolute;top:12px;right:15px;border:0;background:none;font-size:28px;line-height:1.2;width:38px;height:38px;cursor:pointer;color:#435b6b}
.purchase-dialog .eyebrow{font-size:9px;color:#567384;margin-bottom:22px}.purchase-dialog h2{font-size:34px;line-height:1.15;margin-right:12px}
.purchase-summary{font-size:25px;margin:22px 0;padding:20px 0;border-block:1px solid var(--line)}
#purchase-explanation{font-size:15px;line-height:1.8;color:#485c69}.purchase-security{font-size:12px;line-height:1.8;color:#5b6c77;margin:18px 0 24px}.purchase-address{text-align:center;font:10px var(--mono);color:#627885;margin-top:12px}.purchase-legal{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:25px;font-size:11px;color:#4a697b}
.purchase-close:focus-visible,.policy-faq summary:focus-visible{outline:2px solid #527d94;outline-offset:4px}
@media(max-width:1100px){.price-card{padding:27px 22px 22px}.policy-layout{gap:38px;grid-template-columns:180px minmax(0,1fr)}.pricing-heading>p{max-width:240px}.price-focus{min-height:110px}.header nav:has(.nav-pricing){gap:20px}}
@media(max-width:800px){.pricing-home{padding:75px 25px}.pricing-heading{display:block;margin-bottom:35px}.pricing-heading>p{margin-top:25px;max-width:420px}.pricing-grid{grid-template-columns:1fr;gap:20px}.price-card{padding:27px 26px 24px}.price-description,.price-focus{min-height:0;max-width:none}.price-description{margin-bottom:4px}.price-amount{font-size:70px;padding:24px 0;margin:14px 0 21px}.price-focus{margin-bottom:24px}.price-tag{margin-bottom:22px}.price-buy{min-height:50px}.policy-main{padding:118px 25px 65px}.policy-intro{font-size:16px}.policy-tabs{gap:18px 25px;margin:34px 0 38px;line-height:1.7}.policy-layout{grid-template-columns:1fr;gap:30px}.policy-index{position:static;border-bottom:1px solid var(--line);padding-bottom:25px}.policy-index nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.policy-index a{font-size:12px}.policy-notice{padding:22px;margin-bottom:35px}.policy-section h2{font-size:24px}.policy-section>p,.policy-section li{font-size:15px}.scope-facts{grid-template-columns:1fr;gap:26px}.scope-facts article{display:grid;grid-template-columns:25px 1fr;gap:10px 16px}.scope-facts .eyebrow{padding-top:4px}.scope-facts h3{margin:0}.scope-facts p{grid-column:2}.policy-footer-nav{margin:30px 0 0;gap:20px 26px;font-size:10px}.header nav:has(.nav-pricing){position:static;transform:none;margin-left:auto;gap:15px}.header nav .nav-pricing{color:#395d74}.policy-page .header nav{position:static;transform:none;margin-left:auto;gap:15px}.policy-page .header nav a{font-size:8px}.policy-page .header nav a:last-child{display:block}.policy-page .pricing-section{margin-bottom:48px}}
@media(max-width:420px){.policy-hero h1{font-size:41px}.policy-main{padding-inline:22px}.policy-index nav{grid-template-columns:1fr}.purchase-dialog{padding:38px 24px 28px}.purchase-dialog h2{font-size:29px}.purchase-summary{font-size:23px}.header nav:has(.nav-pricing){gap:12px}.policy-page .header{padding-inline:18px}.policy-page .header nav{gap:10px}.policy-page .header nav a{font-size:7px}.pricing-home{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){.price-card:hover{transform:none}}
@media(max-width:800px){.pricing-policies{grid-template-columns:1fr}.pricing-policies a{padding:18px 0}.pricing-policies a+a{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:1279px) and (min-width:641px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-amount{font-size:56px}}
@media(max-width:800px){.billing-controls{align-items:flex-start;flex-direction:column;gap:15px}.billing-explanation{max-width:100%}.price-amount{font-size:56px}.price-billing-details{min-height:68px}}
@media(max-width:640px){.pricing-grid{grid-template-columns:1fr}.price-amount{font-size:clamp(44px,14vw,64px)}.billing-switch button{padding:11px 14px}}
@media(max-width:800px){
  .header.home-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:44px 44px;gap:0;height:96px;padding:4px 18px;background:#f6f8faf5;border-bottom:1px solid var(--line)}
  .header.home-header .brand{grid-column:1;grid-row:1;justify-self:start}
  .header.home-header .header-github{display:flex;align-items:center;grid-column:2;grid-row:1;min-height:44px;font-size:10px}
  .header.home-header nav{display:flex;grid-column:1/-1;grid-row:2;position:static;left:auto;right:auto;transform:none;justify-content:space-between;align-items:stretch;width:100%;height:44px;margin:0;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;pointer-events:auto}
  .header.home-header nav a{display:flex;align-items:center;flex-shrink:0;min-height:44px;font-size:clamp(10px,2.7vw,12px);line-height:1.3;letter-spacing:0;white-space:nowrap;color:#4b6270}
  .header.home-header nav a.active,.header.home-header nav a:hover{color:var(--ink)}
  .header.home-header~.progress{top:110px}
}

.pricing-app-link{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:23px 25px;border:1px solid #cfdee7;border-radius:7px;background:linear-gradient(120deg,#fafdff,#e9f1f6);color:#31576d}.pricing-app-link>span:first-child{font-size:21px;letter-spacing:-.04em}.pricing-app-link>span:last-child{font:11px var(--mono)}.pricing-app-link b{font-size:20px;font-weight:400;margin-left:15px}.pricing-app-link:hover{background:#e2eef6;color:#1d6188}.pricing-app-link:focus-visible{outline:2px solid #527d94;outline-offset:4px}@media(max-width:600px){.pricing-app-link{flex-wrap:wrap;padding:20px;gap:12px}.pricing-app-link>span:first-child{font-size:20px}}
