*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--zj-bg);color:var(--zj-text);font:17px/1.55 var(--zj-font-sans)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:var(--zj-focus-ring);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.035em}
h1{font-size:clamp(42px,6vw,72px);margin:22px 0}
h2{font-size:clamp(28px,3.4vw,40px)}
h3{font-size:25px}
.wrap{width:min(1280px,100% - 64px);margin:auto}
header{background:var(--zj-surface);border-bottom:1px solid var(--zj-border)}
.navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:21px;font-weight:600}
nav{display:flex;align-items:center;gap:24px;font-size:14px;flex-wrap:wrap}
nav [aria-current]{color:var(--zj-accent);font-weight:600}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--zj-border-strong);border-radius:var(--zj-radius-sm);font-size:14px;font-weight:600;background:var(--zj-surface)}
.button:hover{background:var(--zj-surface-2);text-decoration:none}
.primary{background:var(--zj-accent-fill);color:var(--zj-on-accent-fill);border-color:var(--zj-accent-fill)}
.primary:hover{background:var(--zj-accent-fill);filter:brightness(.96)}
.compact{min-height:40px}
.hero{padding:72px 0 64px}
.eyebrow{font:500 12px/1.5 var(--zj-font-mono);letter-spacing:.11em;color:var(--zj-accent)}
.lead{max-width:760px;font-size:20px;color:var(--zj-text-2)}
.ownership{margin-top:40px;padding:28px;background:var(--zj-surface);border:1px solid var(--zj-border);border-left:3px solid var(--zj-accent-fill);border-radius:var(--zj-radius-sm)}
.ownership h2{font-size:24px}
.ownership ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding-left:20px;margin:20px 0}
.ownership li::marker{color:var(--zj-accent)}
.ownership a,.launch a{font-weight:600;font-size:14px;color:var(--zj-accent)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:28px}
.section-heading h2{margin-top:12px}
.section-heading>p{max-width:390px;color:var(--zj-text-2);font-size:15px}
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.plan{background:var(--zj-surface);border:1px solid var(--zj-border);border-radius:var(--zj-radius-sm);padding:26px 22px;display:flex;flex-direction:column}
.plan.featured{border:2px solid var(--zj-accent-fill);padding:25px 21px}
.plan h3{margin:16px 0 12px;font-size:25px}
.price{min-height:112px}
.price-note{font-size:12px;color:var(--zj-text-muted);margin:-8px 0 12px}
.plan-intro{color:var(--zj-text-muted);font-size:14px;min-height:45px;margin-bottom:20px}
.plan dl{font-size:14px;margin:24px 0 0}
.plan dl div{padding:13px 0;border-top:1px solid var(--zj-border)}
dt{color:var(--zj-text-muted);font-size:12px}
dd{margin:5px 0 0;font-weight:500}
.included{font-size:13px;line-height:1.7;color:var(--zj-text-2);border-top:1px solid var(--zj-border);padding-top:14px;margin-top:0}
.launch{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:var(--zj-surface-2);border:1px solid var(--zj-border-strong);padding:20px 24px;margin-top:20px;font-size:14px;border-radius:var(--zj-radius-sm)}
.note{font-size:13px;color:var(--zj-text-muted);margin-top:16px}
.services{padding-top:88px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.service{border-top:2px solid var(--zj-border-strong);padding:24px 0}
.service h3{font-size:23px}
.service p{font-size:15px;color:var(--zj-text-2);margin:16px 0 20px}
.service strong{font-size:22px}
.faq{padding:72px 0;max-width:850px}
.faq h2{margin-bottom:24px}
details{border-bottom:1px solid var(--zj-border-strong);padding:20px 0}
summary{cursor:pointer;font-size:17px;font-weight:500}
details p{padding-top:14px;color:var(--zj-text-2);font-size:15px}
.closing{padding:48px;background:var(--zj-surface);border:1px solid var(--zj-border);margin-bottom:72px}
.closing h2{margin:16px 0 24px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
footer{padding:30px 0;border-top:1px solid var(--zj-border);background:var(--zj-surface)}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:24px;justify-content:space-between}
footer p{font-size:13px;color:var(--zj-text-muted)}
.skip{position:absolute;left:12px;top:-100px;padding:12px;background:var(--zj-surface);z-index:10}
.skip:focus{top:12px}
@media(max-width:1050px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}
.navigation{align-items:flex-start}
nav{justify-content:flex-end;gap:16px}
.launch{grid-template-columns:1fr}
.price{min-height:100px}
.plan-intro{min-height:24px}
.service-grid{gap:28px}
}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}
.navigation{flex-direction:column;gap:16px}
nav{justify-content:flex-start;gap:14px;font-size:13px;flex-wrap:nowrap;overflow-x:auto;width:100%;white-space:nowrap;scrollbar-width:none;padding-bottom:4px}
nav::-webkit-scrollbar{display:none}
nav>*{flex:0 0 auto}
nav .primary{order:-1}
.hero{padding:44px 0}
.lead{font-size:18px}
.ownership{padding:22px}
.ownership ul{grid-template-columns:1fr}
.section-heading{display:block}
.section-heading>p{margin-top:20px}
.plans,.service-grid{grid-template-columns:1fr}
.price{min-height:0}
.plan-intro{min-height:0}
.services{padding-top:56px}
.closing{padding:28px}
.faq{padding:56px 0}
footer .wrap{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


.zj-theme-toggle{font:500 13px var(--zj-font-sans);color:var(--zj-text-2);background:transparent;border:1px solid var(--zj-border-strong);border-radius:var(--zj-radius-sm);min-height:40px;padding:8px 12px;cursor:pointer}
.zj-theme-toggle:focus-visible{outline:var(--zj-focus-ring);outline-offset:4px}


/* Currency switch: plain radios, no script (the site's CSP admits no inline script). */
.cur { position: absolute; opacity: 0; width: 1px; height: 1px; }
.currency { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1.25rem; }
.currency > span { font-size: .875rem; color: var(--zj-text-muted, #59636e); }
.currency label { cursor: pointer; padding: .4rem .85rem; border: 1px solid var(--zj-border, #d1d9e0); border-radius: 999px; font-size: .875rem; font-weight: 600; }
.currency p { flex-basis: 100%; margin: .25rem 0 0; font-size: .8125rem; color: var(--zj-text-muted, #59636e); }
#cur-usd:checked ~ section label[for="cur-usd"], #cur-sar:checked ~ section label[for="cur-sar"] { background: var(--zj-accent-fill, #c9973a); border-color: transparent; color: var(--zj-on-accent-fill, #1f2328); }
#cur-usd:focus-visible ~ section label[for="cur-usd"], #cur-sar:focus-visible ~ section label[for="cur-sar"] { outline: 2px solid var(--zj-accent, #9a6700); outline-offset: 2px; }
#cur-usd:checked ~ section .m-sar, #cur-sar:checked ~ section .m-usd { display: none; }
.includes{padding-top:88px}
.includes .table{overflow-x:auto;margin-top:8px}
.includes table{border-collapse:collapse;width:100%;font-size:14px}
.includes th,.includes td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--zj-border)}
.includes thead th{color:var(--zj-text-muted);font-weight:500;font-size:12px;border-bottom-color:var(--zj-border-strong)}
.includes tbody th{font-weight:600}

/* Terms, Privacy, Refunds and Contact: appended to pricing.css by legal.py. */
.legal{max-width:760px;padding:64px 0 80px}
.legal h1{margin:0 0 12px}
.legal .updated{font:500 12px/1.5 var(--zj-font-mono);letter-spacing:.06em;color:var(--zj-text-muted);margin-bottom:28px}
.legal h2{font-size:24px;margin:40px 0 12px}
.legal p,.legal li{color:var(--zj-text-2);font-size:16px}
.legal p+p{margin-top:12px}
.legal ul{padding-left:22px;margin:12px 0}
.legal li+li{margin-top:8px}
.legal li::marker{color:var(--zj-accent)}
.legal strong{color:var(--zj-text);font-weight:600}
.legal a{color:var(--zj-accent);text-decoration:underline;text-underline-offset:3px}
.legal .table{overflow-x:auto;margin:16px 0}
.legal table{border-collapse:collapse;width:100%;font-size:14px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--zj-border)}
.legal th{color:var(--zj-text-muted);font-weight:500;font-size:12px;border-bottom-color:var(--zj-border-strong)}
@media(max-width:650px){.legal{padding:40px 0 56px}.legal h2{font-size:21px}}
.legal .sales{background:var(--zj-surface);border:1px solid var(--zj-border);border-radius:16px;padding:28px;margin:8px 0 40px}
.legal .sales h2{margin-top:0}
.sales-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.sales-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
.sales-form .wide{grid-column:1/-1}
.sales-form input,.sales-form select,.sales-form textarea{font:400 16px var(--zj-font-sans);color:var(--zj-text);background:var(--zj-bg);border:1px solid var(--zj-border-strong);border-radius:10px;padding:11px 12px}
.sales-form input:focus,.sales-form select:focus,.sales-form textarea:focus{outline:var(--zj-focus-ring);outline-offset:2px}
.sales-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.sales-status{margin:12px 0 0;font-size:15px}.sales-status.ok{color:var(--zj-decided)}.sales-status.error{color:var(--zj-refused)}
@media(max-width:650px){.sales-form{grid-template-columns:1fr}}

/* Product pages (2026-10-07): designed pages with drawn SVG art. Scoped under .pp so the shared
   header and footer from pricing.css keep their own rules. */
.pp{padding-bottom:24px}
.pp .pp-eyebrow{font-family:var(--zj-font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--zj-accent);margin:0 0 16px}
.pp-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:80px 0 64px}
.pp-hero h1{font-size:60px;line-height:1.03;letter-spacing:-.04em;margin:0 0 22px}
.pp-lead{font-size:19px;line-height:1.55;color:var(--zj-text-2);margin:0 0 30px;max-width:580px}
.pp-actions{display:flex;gap:12px;flex-wrap:wrap}.pp-actions .button{white-space:nowrap}
.pp-note{font-size:14px;color:var(--zj-text-muted);margin:16px 0 0}
.pp-visual{background:#fff;border:1px solid var(--zj-border);border-radius:20px;padding:16px;box-shadow:0 30px 60px -30px rgba(11,15,20,.28)}
.pp-visual svg,.pp-card .pp-art svg{display:block;width:100%;height:auto}
.pp section{padding:64px 0}
.pp-sh{max-width:720px;margin-bottom:36px}.pp-sh h2{font-size:38px;letter-spacing:-.03em;line-height:1.1;margin:0 0 14px}.pp-sh p{font-size:18px;line-height:1.55;color:var(--zj-text-2);margin:0}
.pp-steps,.pp-feats,.pp-plans,.pp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pp-step,.pp-feat,.pp-plan{background:var(--zj-surface);border:1px solid var(--zj-border);border-radius:16px;padding:26px}
.pp-step .n{font-family:var(--zj-font-mono);font-size:13px;color:var(--zj-accent);margin-bottom:16px}
.pp-step h3,.pp-feat h3{font-size:20px;letter-spacing:-.01em;margin:14px 0 8px}.pp-step p,.pp-feat p{font-size:16px;line-height:1.55;color:var(--zj-text-2);margin:0}
.pp-ico{width:44px;height:44px;border-radius:11px;background:rgba(212,154,58,.16);display:grid;place-items:center;color:var(--zj-accent)}
.pp-split{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}.pp-split .pp-sh{margin:0}
.pp-plan.hl{border-color:var(--zj-accent-fill);box-shadow:0 0 0 1px var(--zj-accent-fill)}
.pp-plan .p{font-family:var(--zj-font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--zj-text-muted)}
.pp-plan .v{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:10px 0 0;line-height:1.3}
.pp-faq{max-width:820px}.pp-faq details{background:var(--zj-surface);border:1px solid var(--zj-border);border-radius:14px;padding:18px 22px;margin-bottom:12px}
.pp-faq summary{font-weight:600;font-size:17px;cursor:pointer}.pp-faq details p{color:var(--zj-text-2);line-height:1.6;margin:12px 0 0}
.pp-band{background:var(--zj-code-bg);color:var(--zj-code-text);border-radius:24px;padding:52px;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:24px}
.pp-band h2{font-size:34px;letter-spacing:-.03em;margin:0 0 8px;color:var(--zj-code-text)}.pp-band p{color:var(--zj-code-muted);margin:0;font-size:17px;max-width:640px}
.pp-band .button{white-space:nowrap}
.pp-intro{padding:80px 0 44px;max-width:800px}.pp-intro h1{font-size:58px;line-height:1.04;letter-spacing:-.04em;margin:0 0 20px}
.pp-card{display:flex;flex-direction:column;background:var(--zj-surface);border:1px solid var(--zj-border);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.pp-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -28px rgba(11,15,20,.35)}
.pp-card .pp-art{display:block;border-bottom:1px solid var(--zj-border);background:#F6F7F4}
.pp-card .pp-body{display:block;padding:22px 24px 24px}.pp-card .tag{font-family:var(--zj-font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--zj-accent)}
.pp-card h2{font-size:23px;letter-spacing:-.02em;margin:8px 0}.pp-card p{color:var(--zj-text-2);line-height:1.5;margin:0 0 16px;font-size:16px}.pp-card .more{font-weight:600;font-size:15px;color:var(--zj-accent)}
@media(max-width:900px){.pp-hero,.pp-split{grid-template-columns:1fr;gap:36px}.pp-steps,.pp-feats,.pp-plans,.pp-cards{grid-template-columns:1fr}
.pp-hero h1,.pp-intro h1{font-size:42px}.pp-sh h2{font-size:30px}.pp-band{flex-direction:column;align-items:flex-start;padding:32px}.pp-hero{padding-top:48px}}
