/* The website, in the app's own look: the shared stylesheet does the cards, buttons, pills and tables; this only lays out the page. */
body{background:#fff}
.sx-top{position:sticky;top:0;z-index:40;background:var(--ds-orange);color:var(--jx-ink);border-bottom:2px solid var(--jx-ink)}
.sx-top .wrap{display:flex;align-items:center;gap:14px;min-height:64px}
.sx-top .brand-t b{color:var(--jx-ink);font-size:18px}.sx-top .brand-t span{color:var(--jx-ink);opacity:.8}
.sx-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.sx-nav a{color:var(--jx-ink);font-weight:600;font-size:14px;white-space:nowrap}
.sx-nav a::after{content:none}
.sx-nav a.b{background:var(--jx-ink);border-color:var(--jx-ink);color:#fff}.sx-nav a.b:hover{background:#000}
.sx-hero{background:var(--ds-orange);padding:56px 0 0;border-bottom:1px solid var(--ds-orange-d);overflow:hidden}
.sx-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;align-items:end;margin-bottom:36px}
.sx-lead h1{font-size:clamp(32px,4.6vw,54px);line-height:1.08;font-weight:700;margin:0;color:var(--jx-ink);letter-spacing:-.5px;text-wrap:balance}
.sx-lead p{font-size:18px;line-height:1.55;font-weight:500;color:var(--jx-ink);margin:0 0 18px}
.sx-acts{display:flex;gap:10px;flex-wrap:wrap}
.sx-acts a::after{content:none}
.sx-hero .b-p,.sx-band .b-p{background:var(--jx-ink);border-color:var(--jx-ink);color:#fff}
.sx-hero .b-p:hover,.sx-band .b-p:hover{background:#000;border-color:#000}
.sx-hero .b:not(.b-p),.sx-band .b:not(.b-p){background:#fff;color:var(--jx-ink)}
/* the app preview: the real app's bar, page head, strip and lists, in a window */
.sx-win{background:var(--ds-surface);border-radius:10px 10px 0 0;box-shadow:var(--ds-sh-3);overflow:hidden;border:1px solid rgba(0,0,0,.08);border-bottom:0}
.sx-win .bar{position:static}
.sx-win main.main{padding:18px 0 22px}
.sx-win .wrap{max-width:none;padding:0 20px}
.sx-win .phead h1{font-size:21px}
.sx-tag{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#c3d0d6}
.sx-pane[hidden]{display:none}
section.sx{padding:72px 0}
section.sx.alt{background:var(--ds-surface)}
section.sx.dark{background:var(--ds-navy);color:#fff}
section.sx.dark h2,section.sx.dark h3{color:#fff}
.sx-head{max-width:720px;margin:0 0 32px}
.sx-head h2{font-size:clamp(26px,3.2vw,36px);font-weight:700;letter-spacing:-.3px;margin:0 0 10px;text-wrap:balance}
.sx-head p{font-size:17px;color:var(--ds-grey);margin:0}
.dark .sx-head p{color:#c3d0d6}
.sx-grid{display:grid;gap:var(--gap,1rem)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sx-card{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:20px;box-shadow:var(--ds-sh)}
.sx-card h3{margin:8px 0 6px;font-size:17px}
.sx-card p{margin:0;color:var(--ds-grey);font-size:14.5px}
.sx-card ul{margin:6px 0 0;padding-left:18px;color:var(--ds-grey);font-size:14.5px}
.dark .sx-card{background:var(--ds-navy-2);border-color:var(--ds-navy-3);box-shadow:none}
.dark .sx-card p{color:#c3d0d6}
.sx-k{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--ds-orange);color:var(--jx-ink);padding:3px 8px;border-radius:4px}
.sx-k.soft{background:var(--ds-tint);color:var(--ds-ink-2)}
.sx-k.ink{background:var(--jx-ink);color:var(--ds-orange)}
/* the road: Shopify, Stock Junction, Xero */
.sx-route{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,2.7fr) 72px minmax(0,1fr);align-items:stretch}
.sx-pipe{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ds-grey);text-align:center}
.sx-pipe svg{width:46px;height:22px}
.sx-hub{background:var(--ds-orange);border-radius:var(--ds-r);padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--ds-sh-2)}
.sx-hub-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sx-hub-h h3{margin:0;font-size:20px;color:var(--jx-ink)}
.sx-legs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;counter-reset:leg}
.sx-leg{background:#fff;border-radius:var(--ds-r);padding:12px;counter-increment:leg;display:flex;flex-direction:column;gap:4px}
.sx-leg::before{content:counter(leg);width:24px;height:24px;border-radius:50%;background:var(--jx-ink);color:var(--ds-orange);display:grid;place-items:center;font-size:12px;font-weight:700}
.sx-leg b{font-size:15px}
.sx-leg p{margin:0;font-size:13px;color:var(--ds-grey)}
.sx-back{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--jx-ink)}
.sx-back svg{width:30px;height:16px;flex:none}
.sx-note{margin:18px 0 0;color:var(--ds-grey);font-size:14.5px;max-width:760px}
/* sold before it was received */
.sx-cogs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.sx-steps{display:flex;flex-direction:column;gap:8px}
.sx-step{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:baseline}
.sx-step .sx-k{grid-row:span 2}
.sx-step b{font-size:16px}
.sx-step p{margin:0;font-size:14px;color:var(--ds-grey)}
.sx-step.on{background:var(--ds-orange-t);border-color:var(--ds-orange)}
.sx-band{background:var(--ds-orange);padding:56px 0}
.sx-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sx-band h2{margin:0 0 6px;color:var(--jx-ink);font-size:clamp(24px,3vw,34px)}
.sx-band p{margin:0;color:var(--jx-ink);font-weight:500}
footer.sx-foot{background:var(--ds-navy);color:#c3d0d6;padding:26px 0;font-size:14px}
footer.sx-foot .wrap{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
@media (max-width:1060px){.sx-legs{grid-template-columns:repeat(3,minmax(0,1fr))}.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.sx-nav a:not(.b){display:none}}
@media (max-width:900px){.sx-lead,.sx-cogs,.sx-route{grid-template-columns:minmax(0,1fr)}.sx-pipe{flex-direction:row;padding:6px 0}.sx-pipe svg{transform:rotate(90deg);width:34px}
.g3,.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.sx-hero{padding-top:36px}}
@media (max-width:620px){.g2,.g3,.g4,.g5,.sx-legs{grid-template-columns:minmax(0,1fr)}section.sx{padding:52px 0}.sx-top .brand-t span{display:none}
.sx-win main.main{padding:12px 0 14px}.sx-win .wrap{padding:0 12px}}
.sx-suite .sx-card{display:flex;flex-direction:column;gap:6px}
.sx-suite .sx-card .b{align-self:flex-start;margin-top:8px}
.sx-card a.b::after,.sx-suite a::after{content:none}
.sx-opt{position:relative}
.sx-opt.soon{opacity:.85}
.sx-lead.solo{grid-template-columns:minmax(0,1fr);max-width:860px}
/* playable real cost */
.cg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cg-acts .b:disabled{opacity:.4;cursor:default}
.cg-card{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:16px;box-shadow:var(--ds-sh)}
.cg-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--ds-line-2);font-size:15px}
.cg-row b{font-size:17px;transition:color .3s}
.cg-row b.q{color:var(--ds-warn)}
.cg-row b.ok{color:var(--ds-ok)}
.cg-gm{border-bottom:0}
.cg-say{margin:10px 0 0;font-size:14px;color:var(--ds-grey);min-height:2.6em}
/* Stage Call, in a phone */

/* the loop: orders zoom from Shopify through Stock Junction to Xero */
.lp-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:0 0 16px}
.lp-seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lp-lbl{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ds-grey);margin-right:4px}
.lp-seg button{font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--ds-line);background:#fff;color:var(--ds-ink);cursor:pointer}
.lp-seg button[aria-pressed=true]{background:var(--jx-ink);border-color:var(--jx-ink);color:#fff}
.lp-seg button:disabled{color:var(--ds-grey);cursor:default}
.lp-seg em{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:var(--ds-tint);color:var(--ds-ink-2);padding:2px 6px;border-radius:999px;margin-left:4px}
.lp-acts{display:flex;gap:8px;flex-wrap:wrap}
.lp{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1.5fr) 56px minmax(0,1fr);align-items:stretch}
.lp-end{background:#fff;border:1px solid var(--ds-line);border-radius:14px;padding:20px;box-shadow:var(--ds-sh);display:flex;flex-direction:column;gap:10px;min-height:150px;justify-content:center}
.lp-hub{background:var(--ds-orange);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--ds-sh-2);position:relative;transition:transform .3s}
.lp-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lp-h b{font-size:18px;color:var(--jx-ink)}
.lp-end.hit,.lp-hub.hit{transform:scale(1.02)}
.lp-end.hit{box-shadow:0 0 0 3px var(--ds-orange),var(--ds-sh-2)}
.lp-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.lp-feed li{background:var(--ds-surface);border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;gap:8px;align-items:center;animation:lpIn .45s cubic-bezier(.2,.9,.3,1.3)}
.lp-feed li b{font-weight:600}
.lp-feed .pill{flex:none}
.lp-legs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.lp-legs li{background:#fff;border-radius:8px;padding:8px 4px;text-align:center;font-size:13px;font-weight:700;color:var(--jx-ink);transition:background .6s,color .6s}
.lp-legs li.on{background:var(--jx-ink);color:var(--ds-orange)}
.lp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.lp-stats div{background:#fff;border-radius:8px;padding:8px;text-align:center}
.lp-stats span{display:block;font-size:11px;font-weight:600;color:var(--ds-grey)}
.lp-stats b{display:block;font-size:22px;color:var(--jx-ink);transition:transform .25s}
.lp-stats b.bump{transform:scale(1.3)}
.lp-pops{position:relative;min-height:64px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.lp-pop{background:#fff;color:var(--jx-ink);font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;box-shadow:var(--ds-sh);animation:lpPop 2.6s ease forwards}
.lp-pop.up{background:var(--ds-ok-t);color:var(--ds-ok)}
.lp-pop.down{background:#fff;color:var(--jx-ink)}
.lp-keep{margin:auto 0 0;font-size:12px;font-weight:600;color:var(--jx-ink)}
.lp-pipe{position:relative;display:flex;align-items:center}
.lp-pipe i{display:block;width:100%;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--ds-orange) 0 10px,transparent 10px 18px);background-size:18px 4px;animation:lpRun .6s linear infinite}
.lp-fly{position:fixed;z-index:60;pointer-events:none;left:0;top:0;background:var(--jx-ink);color:var(--ds-orange);font-size:13px;font-weight:700;padding:7px 13px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.lp-fly.back{background:#B42318;color:#fff}
.lp-fly.ok{background:var(--ds-ok);color:#fff}
@keyframes lpRun{to{background-position:18px 0}}
@keyframes lpIn{from{opacity:0;transform:translateY(-8px) scale(.9)}to{opacity:1;transform:none}}
@keyframes lpPop{0%{opacity:0;transform:scale(.5)}12%{opacity:1;transform:scale(1.12)}22%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
/* Stage Call, Apple-style */
.sc{background:#fff}
.sc-head{text-align:center;max-width:820px;margin:0 auto 44px}
.sc-head h2{font-size:clamp(44px,7vw,84px);line-height:1;font-weight:700;letter-spacing:-2px;margin:0 0 10px}
.sc-sub{font-size:clamp(22px,3vw,32px);font-weight:600;color:var(--ds-grey);margin:0 0 18px;letter-spacing:-.4px}
.sc-lead{font-size:17px;color:var(--ds-grey);margin:0 auto;max-width:640px}
.sc-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center;justify-content:center;max-width:1040px;margin:0 auto}
.sc-phone{width:min(390px,100%);border:12px solid #101418;border-radius:48px;background:var(--ds-surface);box-shadow:0 30px 60px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.2);position:relative;overflow:hidden}
.sc-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:110px;height:26px;border-radius:14px;background:#101418;z-index:2}
.sc-screen{padding:46px 12px 14px;height:640px;overflow:auto}
.sc-screen .pos-head .pos-no{font-size:24px}
.sc-again{display:flex;justify-content:center;padding:6px 0}
.sc-says{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:30px}
.sc-says b{display:block;font-size:clamp(34px,4.5vw,52px);line-height:1;font-weight:700;letter-spacing:-1.2px;color:var(--jx-ink)}
.sc-says span{display:block;margin-top:6px;font-size:18px;color:var(--ds-grey)}
@media (max-width:1060px){.lp{grid-template-columns:minmax(0,1fr) 36px minmax(0,1.4fr) 36px minmax(0,1fr)}.lp-legs li{font-size:11.5px}}
@media (max-width:900px){.lp{grid-template-columns:minmax(0,1fr)}.lp-pipe{height:34px;justify-content:center}.lp-pipe i{width:4px;height:100%;background:repeating-linear-gradient(180deg,var(--ds-orange) 0 10px,transparent 10px 18px);background-size:4px 18px;animation:lpRunV .6s linear infinite}.lp-end{min-height:0}
.sc-grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:36px}.sc-says{text-align:center}}
@keyframes lpRunV{to{background-position:0 18px}}
@media (prefers-reduced-motion:reduce){.lp-fly{display:none}.lp-pipe i{animation:none}.lp-feed li,.lp-pop{animation:none}}
.lp-now{margin:0;font-size:15px;font-weight:600;color:var(--jx-ink);min-height:1.5em}
.lp-end .lp-now{color:var(--ds-ink-2)}
.lp-now.show{animation:lpFade .6s ease}
@keyframes lpFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.lp-pipe i{animation-duration:1.6s}
.lp-fly{box-shadow:0 6px 16px rgba(0,0,0,.18)}
.sc-binv{cursor:text;border-bottom:1px dashed var(--ds-line)}
.sc-bin{width:96px;display:inline-block;min-height:30px;padding:4px 8px;font-weight:700}
.pos-line.onpo{background:#FFFAEB;border-color:#F2D58A}
/* the app's own icons, cards and buttons on the website */
.appi-g{width:60px;height:60px;flex:0 0 60px;border-radius:15px}.appi-g svg{width:30px;height:30px}
.card.ac{display:flex;flex-direction:column;gap:10px;padding:20px;margin:0}
.card.ac .card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0;border:0;margin:0}
.card.ac .card-h h3,.card.ac h3{margin:0;font-size:18px}
.card.ac p{margin:0;color:var(--ds-grey);font-size:15px;flex:1}
.card.ac .b{align-self:flex-start}
.card.ac a.b::after,.jb a.b::after,.pr a.b::after{content:none}
.ac-top{display:flex;gap:14px;align-items:center}.ac-top>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.lp-appi{display:inline-flex;vertical-align:middle;margin-right:14px}.lp-appi .appi{width:56px;height:56px;border-radius:14px}
/* five jobs, each with a real piece of the app */
.jb-list{display:flex;flex-direction:column;gap:22px}
.jb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:28px;align-items:center}
.jb:nth-child(even) .jb-say{order:2}
.jb-say{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.jb-say h3{margin:0;font-size:24px;letter-spacing:-.3px}
.jb-say p{margin:0;color:var(--ds-grey);font-size:16px}
.jb-shot.card{margin:0;overflow:hidden;box-shadow:var(--ds-sh-2)}
.jb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
/* pricing */
.pr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap,1rem);align-items:start}
.pr .card{margin:0;padding:22px}
.pr-top{display:flex;gap:14px;align-items:center}.pr-top>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.pr-top h3{margin:0;font-size:20px}
.pr-price{margin:18px 0 8px}.pr-price b{font-size:44px;letter-spacing:-1px;color:var(--jx-ink)}.pr-price span{display:block;color:var(--ds-grey);font-size:14px}
.pr-in{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.pr-adds .card-h{padding:0 0 8px;border:0}
.pr-adds td{font-size:15px}
.pr-note{margin:12px 0 0;font-size:13.5px;color:var(--ds-grey)}
@media (max-width:900px){.jb{grid-template-columns:minmax(0,1fr);gap:14px}.jb:nth-child(even) .jb-say{order:0}.pr{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.jb-tiles{grid-template-columns:minmax(0,1fr)}}
.sx-beta{display:block;width:max-content;font-size:12px;margin:0 0 12px;letter-spacing:.5px}
.jb5 .card.ac h3{font-size:17px}.jb5 .card.ac p{font-size:14px}
/* hero */
.sx-lead{align-items:center}
.sx-lead .sx-sub{font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.35;color:var(--jx-ink);margin:16px 0 22px;max-width:30ch}
/* the globe: Stock in the middle, the apps orbiting on a tilted ring; hover one to read it */
.orb{position:relative;width:min(460px,100%);aspect-ratio:1;margin:0 auto;perspective:1100px;transform-style:preserve-3d}
.orb-glow{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0%,rgba(255,255,255,.35) 38%,rgba(255,255,255,0) 70%);filter:blur(4px)}
.orb-ring{position:absolute;inset:4%;border-radius:50%;border:2px dashed rgba(21,37,46,.28);transform-style:preserve-3d;animation:orbSpin 50s linear infinite}
.orb-s{position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;transform-style:preserve-3d}
.orb-i{position:relative;display:block;transform-style:preserve-3d;animation:orbKeep 50s linear infinite;cursor:pointer;outline:none}
.orb-i .appi{flex:none;width:56px;height:56px;border-radius:14px;box-shadow:0 10px 22px rgba(21,37,46,.28);transition:transform .25s}
.orb-i .appi svg{width:28px;height:28px}
.orb:hover .orb-ring,.orb:hover .orb-i,.orb:focus-within .orb-ring,.orb:focus-within .orb-i{animation-play-state:paused}
.orb-i:hover .appi,.orb-i:focus .appi{transform:scale(1.18)}
.orb-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);background:var(--jx-ink);color:#fff;font-size:12.5px;line-height:1.4;padding:10px 13px;border-radius:12px;white-space:normal;width:250px;text-align:left;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:5}
.orb-tip b{display:block;color:var(--ds-orange);font-size:13.5px}
.orb-tip em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-left:6px;background:rgba(255,199,32,.18);color:var(--ds-orange);padding:1px 6px;border-radius:999px}
.orb-i:hover .orb-tip,.orb-i:focus .orb-tip{opacity:1}
.orb-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(1px);display:flex;flex-direction:column;align-items:center;gap:10px}
.orb-c .appi{flex:none;width:116px;height:116px;border-radius:30px;box-shadow:0 22px 46px rgba(21,37,46,.35),0 0 0 8px rgba(255,255,255,.45)}.orb-c .appi svg{width:58px;height:58px}
.orb-c b{font-size:15px;color:var(--jx-ink);background:rgba(255,255,255,.85);padding:4px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(21,37,46,.12)}
@keyframes orbSpin{from{transform:rotateX(64deg) rotateZ(0deg)}to{transform:rotateX(64deg) rotateZ(360deg)}}
@keyframes orbKeep{from{transform:rotateZ(0deg) rotateX(-64deg)}to{transform:rotateZ(-360deg) rotateX(-64deg)}}
@media (prefers-reduced-motion:reduce){.orb-ring{animation:none;transform:rotateX(64deg)}.orb-i{animation:none;transform:rotateX(-64deg)}}
/* Apple-style feature sections: the app on one side, a few words on the other, swapping sides */
.ft{padding:96px 0;background:#fff}
.ft:nth-of-type(even){background:var(--ds-surface)}
.ft-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center}
.ft.flip .ft-vis{order:2}
.ft-say{display:flex;flex-direction:column;gap:14px;max-width:480px}
.ft-eye{font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--jx-link)}
.ft-say h2{margin:0;font-size:clamp(32px,4.2vw,52px);line-height:1.05;font-weight:700;letter-spacing:-1.2px;color:var(--jx-ink)}
.ft-say p{margin:0;font-size:18px;line-height:1.55;color:var(--ds-grey)}
.ft-say .ft-try{font-size:14px;font-weight:600;color:var(--jx-ink)}
.ft-card{margin:0;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.06);border-radius:16px}
.ft-card .card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 0 10px;border:0}
.ft-card .card-h h3{margin:0;font-size:16px}
.ft-new{animation:lpIn .45s cubic-bezier(.2,.9,.3,1.3)}
.ft .sc-phone{margin:0 auto}
.cn-steps{list-style:none;margin:6px 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;counter-reset:cn}
.cn-steps li{counter-increment:cn;background:var(--ds-tint);border-radius:8px;padding:10px;font-size:13px;font-weight:600;color:var(--ds-ink-2);transition:background .4s,color .4s}
.cn-steps li::before{content:counter(cn) "  ";font-weight:800}
.cn-steps li.on{background:var(--jx-ink);color:var(--ds-orange)}
.cn-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cn-acts .b:disabled{opacity:.45}
.sk-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sk-nums div{background:var(--ds-surface);border-radius:10px;padding:12px 6px;text-align:center}
.sk-nums span{display:block;font-size:11.5px;font-weight:600;color:var(--ds-grey)}
.sk-nums b{display:block;font-size:26px;color:var(--jx-ink);transition:transform .25s}
.sk-nums b.bump{animation:skBump .4s ease}
.sk-nums b.neg{color:var(--ds-bad)}
@keyframes skBump{50%{transform:scale(1.25)}}
@media (max-width:900px){.ft{padding:64px 0}.ft-in{grid-template-columns:minmax(0,1fr);gap:28px}.ft.flip .ft-vis{order:0}.ft-say{max-width:none}.orb{width:min(320px,100%)}}
@media (max-width:620px){.sk-nums{grid-template-columns:repeat(3,minmax(0,1fr))}.orb-s,.orb-i .appi{width:42px;height:42px}.orb-s{margin:-21px 0 0 -21px}.orb-i .appi svg{width:22px;height:22px}.orb-c .appi{width:84px;height:84px;border-radius:22px}}
.sx-win .swapmenu{position:relative}.sx-win .swapmenu .menu{z-index:30}.sx-win .menu .pill{margin-left:6px;font-size:10px}
.appi.appi-g,.lp-appi .appi,.ac-top .appi,.pr-top .appi,.hk-h .appi{flex:none}
.orb-i::after{content:none}.orb-i .orb-tip b{margin-bottom:2px}
/* the feature sections, in Stage Call's style */
.sc.sc2.alt{background:var(--ds-surface)}
.sc-wide{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);max-width:1180px;gap:64px}
.sc-wide.flip .sc-vis{order:2}
.sc-vis .ft-card,.sc-vis .cg{width:100%}
.sc-vis .card.ft-card{padding:22px;border-radius:18px;box-shadow:0 30px 60px rgba(21,37,46,.12),0 2px 8px rgba(21,37,46,.06)}
.sc-vis .ft-card .card-h{margin:0 0 12px;padding:0;border:0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sc-vis .ft-card .card-h h3{font-size:17px}
.sc-vis .cg-card.card{padding:20px;border-radius:18px;box-shadow:0 30px 60px rgba(21,37,46,.12)}
/* pricing: how much is included */
.pz{max-width:980px;margin:0 auto;background:#fff;border-radius:22px;padding:32px;box-shadow:0 30px 70px rgba(21,37,46,.12),0 2px 8px rgba(21,37,46,.06)}
.pz-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--ds-line-2)}
.pz-top>div{display:flex;flex-direction:column}
.pz-top .appi{flex:none}
.pz-price{font-size:52px;line-height:1;letter-spacing:-1.5px;color:var(--jx-ink)}
.pz-top span{color:var(--ds-grey);font-size:14px;margin-top:6px}
.pz-top .b{margin-left:auto}
.pz-top .b::after{content:none}
.pz-in{list-style:none;margin:24px 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}
.pz-in li{display:flex;flex-direction:column;font-size:15px;color:var(--ds-grey)}
.pz-in b{font-size:30px;line-height:1.1;letter-spacing:-.6px;color:var(--jx-ink)}
.pz-add{margin:0;padding-top:18px;border-top:1px solid var(--ds-line-2);font-size:14px;color:var(--ds-grey)}
@media (max-width:900px){.sc-wide{grid-template-columns:minmax(0,1fr)}.sc-wide.flip .sc-vis{order:0}.pz-in{grid-template-columns:repeat(2,minmax(0,1fr))}.pz-top .b{margin-left:0}}
@media (max-width:520px){.pz{padding:22px}.pz-in{grid-template-columns:minmax(0,1fr)}}
/* brand touches: a yellow bar under each big word, a yellow mark on each step, a soft glow behind the app */
.sc-head h2{position:relative;display:inline-block;padding-bottom:14px}
.sc-head h2::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:8px;border-radius:999px;background:var(--ds-orange)}
.sc-says li{position:relative;padding-left:22px}
.sc-says li::before{content:'';position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--ds-orange);box-shadow:0 0 0 3px rgba(255,199,32,.25)}
.sc-vis,.sc-phone{position:relative}
.sc-vis::before{content:'';position:absolute;inset:-8% -6%;z-index:0;border-radius:40px;background:radial-gradient(ellipse at 30% 30%,rgba(255,199,32,.28),rgba(255,199,32,0) 60%),radial-gradient(ellipse at 80% 80%,rgba(255,122,69,.14),rgba(255,122,69,0) 55%);pointer-events:none}
.sc-vis>*{position:relative;z-index:1}
.sx-band h2{position:relative}
.sx-addon{margin:14px 0 0;font-size:15px;color:var(--jx-ink)}
/* legal pages: one readable column */
.lg{padding:56px 0 80px}
.lg .wrap{max-width:760px}
.lg h1{font-size:clamp(32px,4vw,44px);letter-spacing:-1px;margin:0 0 6px;color:var(--jx-ink)}
.lg-up{color:var(--ds-grey);margin:0 0 28px}
.lg h2{font-size:20px;margin:32px 0 10px;color:var(--jx-ink)}
.lg p,.lg li{font-size:16px;line-height:1.65;color:var(--ds-ink-2,#2b3a42)}
.lg ul{padding-left:22px}
.lg li{margin:4px 0}
.lg .tbl-w{margin:12px 0}
.sx-foot nav{display:flex;gap:16px;flex-wrap:wrap}
.sx-foot nav a{color:inherit}
/* 7 Nov 2026 pass (Ash + review) */
/* app names in their own face; everything else stays Poppins */
.an,.sx-top .brand-t b,.ac-top h3,.orb-c b,.orb-tip b,.lp-h b.an{font-family:"Bricolage Grotesque",Poppins,sans-serif;font-weight:800;letter-spacing:-.02em}
.sc-head h2.an{font-weight:800;letter-spacing:-2.5px}
/* the yellow: a marker stroke behind words, never a straight rule */
.mk{position:relative;z-index:0;white-space:nowrap}
.mk::before{content:'';position:absolute;z-index:-1;left:-.2em;right:-.24em;bottom:-.06em;height:.66em;background:var(--ds-orange);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath d='M7 14 C 14 6, 40 7, 70 6.5 C 105 6, 130 3, 170 4.5 C 205 6, 240 2.5, 272 4 C 290 5, 298 9, 294 15 C 291 20, 299 25, 293 30 C 286 36, 260 33, 232 34.5 C 200 36.5, 168 33, 132 35.5 C 98 38, 66 34.5, 38 36.5 C 18 38, 6 35, 4 29 C 2 23, 3 18, 7 14 Z'/%3E%3Cpath d='M276 6 C 290 5.5, 300 9, 299 14 C 298 18, 288 16, 274 17 Z' opacity='.5'/%3E%3Cpath d='M14 34 C 60 37, 120 35, 175 37.5 C 130 40, 60 40, 18 38.5 Z' opacity='.45'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath d='M7 14 C 14 6, 40 7, 70 6.5 C 105 6, 130 3, 170 4.5 C 205 6, 240 2.5, 272 4 C 290 5, 298 9, 294 15 C 291 20, 299 25, 293 30 C 286 36, 260 33, 232 34.5 C 200 36.5, 168 33, 132 35.5 C 98 38, 66 34.5, 38 36.5 C 18 38, 6 35, 4 29 C 2 23, 3 18, 7 14 Z'/%3E%3Cpath d='M276 6 C 290 5.5, 300 9, 299 14 C 298 18, 288 16, 274 17 Z' opacity='.5'/%3E%3Cpath d='M14 34 C 60 37, 120 35, 175 37.5 C 130 40, 60 40, 18 38.5 Z' opacity='.45'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:rotate(-1.6deg);filter:url(#hd-rough)}
.sc-head h2::after{left:50%;width:min(160px,70%);height:16px;bottom:-2px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16'%3E%3Cpath d='M4 11 C 50 4, 120 2, 196 7' fill='none' stroke='%23FFC720' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:translateX(-50%) rotate(-2.5deg)}
.sc-head h2:has(.mk)::after{content:none}
/* hero */
.sx-for{margin:-8px 0 20px;font-size:16px;color:var(--ds-ink-2);max-width:40ch}
.sx-small{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--jx-ink)}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:var(--jx-ink);padding:8px 14px;border-radius:8px;box-shadow:var(--ds-sh-2)}
[id]{scroll-margin-top:84px}
/* sync demo: chips ride a lane above the boxes and never leave the demo */
.lp{position:relative;padding-top:52px}
.lp-fly{position:absolute;z-index:5}
@media (max-width:900px){.lp{padding-top:0}}
/* Stage Call: the phone keeps its width; a little more of the order shows */
@media (min-width:901px){.sc-grid{grid-template-columns:390px minmax(0,1fr)}}
.sc-screen{height:720px}
.sc-screen .pos-ful{flex-wrap:wrap;gap:8px}
.sc-screen .pos-ful .pos-shipf.inp{width:calc(50% - 4px)}
.sc-screen .pos-head{flex-wrap:wrap}
.sc-back{flex:0 0 auto;min-width:0;padding:0 16px}
.sc-said{min-height:1.4em;margin:10px 2px 0;font-size:13px;font-weight:600;color:var(--jx-ink)}
.sc-price{margin:14px 0 0}
.sc-price .pill{font-size:13px;padding:5px 12px}
/* Real Cost: done steps look done, not switched off */
.cg-acts .b.done,.cg-acts .b.done:disabled{opacity:1;background:#E3F4E6;border-color:#9FD3AB;color:#1E7B34}
/* pricing: the app icon sits on its own tile so it never fights the yellow */
.pz-icon{display:inline-flex;padding:8px;border-radius:22px;background:var(--ds-surface,#F4F6F7);box-shadow:inset 0 0 0 1px var(--ds-line)}
.pz-def{margin:0 0 22px;font-size:14px;color:var(--ds-ink-2)}
.pz-calc{background:var(--ds-surface,#F4F6F7);border-radius:16px;padding:22px;margin:0 0 18px}
.pz-calc h3{margin:0 0 14px;font-size:18px;color:var(--jx-ink)}
.pz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pz-f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ds-ink-2)}
.pz-adds{display:flex;flex-wrap:wrap;gap:10px 22px;margin:16px 0}
.pz-add{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px}
.pz-add em{font-style:normal;color:var(--ds-ink-2);font-weight:600}
.pz-total{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 32px;padding-top:16px;border-top:1px solid var(--ds-line)}
.pz-total div{display:flex;flex-direction:column}
.pz-total span{font-size:13px;color:var(--ds-ink-2);font-weight:600}
.pz-total b{font-size:34px;letter-spacing:-.8px;color:var(--jx-ink);line-height:1.1}
.pz-total p{flex-basis:100%;margin:0;font-size:14px;color:var(--ds-ink-2)}
.pz-add-l{margin:0;font-size:14px;color:var(--ds-ink-2)}
@media (max-width:620px){.pz-grid{grid-template-columns:minmax(0,1fr)}}
/* questions */
.faq{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--ds-line);border-radius:12px;padding:0 18px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:16px;color:var(--jx-ink)}
.faq p{margin:0 0 16px;color:var(--ds-ink-2);line-height:1.6}
/* cards: titles get room from the edge; links line up with the text */
.sc-vis .card.ft-card .card-h{padding:0 2px}
.card.ac{display:flex;flex-direction:column;gap:12px}
.card.ac>.card-h,.card.ac>p{margin:0}
.card.ac>a.b{align-self:flex-start;margin:auto 0 0}
/* spacing: one rhythm for every section */
section.sx{padding:88px 0}
.sc-head{margin-bottom:48px}
.sc-sub{margin:6px 0 0}
@media (max-width:900px){section.sx{padding:60px 0}.sc-head{margin-bottom:32px}}
/* the online demo */
.dm{padding:32px 0 72px;background:var(--ds-orange)}
.dm .wrap{max-width:1360px}
.dm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 20px}
.dm-bar h1{margin:0;font-size:clamp(26px,3vw,36px);color:var(--jx-ink)}
.dm-bar p{margin:4px 0 0;font-weight:600;color:var(--jx-ink)}
.dm .b-p{background:var(--jx-ink);border-color:var(--jx-ink);color:#fff}
.dm .sx-acts .b:not(.b-p){background:#fff;color:var(--jx-ink)}
.dm-win{min-height:70vh}
.sc-screen .pos-head>.sc-back{flex:0 0 auto;min-width:0;padding:0 16px}

/* ---------- hand drawn (Ash, 7 Nov 2026: "a hand drawn look, not rigid angles, not sterile, no harsh boxes").
   The website's own boxes, buttons and edges only; the app's screens inside the demos stay exactly as the app is. ---------- */
.hd-defs{position:absolute;width:0;height:0;overflow:hidden}
:root{--hd-r:255px 18px 225px 18px/18px 225px 18px 255px;--hd-rb:18px 225px 18px 255px/255px 18px 225px 18px;--hd-ink:rgba(21,37,46,.82);--hd-sh:5px 6px 0 rgba(21,37,46,.12)}
/* boxes: a pencil line, wobbly corners, a flat offset shadow */
.lp-end,.lp-hub,.pz,.pz-calc,.card.ac,.sx-card,.faq details{position:relative;border-color:transparent!important;border-radius:var(--hd-r)!important;box-shadow:var(--hd-sh)!important}
.lp-end::after,.lp-hub::after,.pz::after,.pz-calc::after,.card.ac::after,.sx-card::after{content:'';position:absolute;inset:0;border:2px solid var(--hd-ink);border-radius:inherit;filter:url(#hd-rough);pointer-events:none}
.pz-calc{box-shadow:none!important}
.pz-calc::after{border-style:dashed;border-color:rgba(21,37,46,.35)}
.faq details{border:2px solid var(--hd-ink)!important}
.faq details:nth-child(even){border-radius:var(--hd-rb)!important}
/* nothing sits dead straight */
.sx-grid>.card.ac:nth-child(odd),.sx-grid>.sx-card:nth-child(odd),.lp-end:first-child{transform:rotate(-.5deg)}
.sx-grid>.card.ac:nth-child(even),.sx-grid>.sx-card:nth-child(even),.lp-end:last-child{transform:rotate(.45deg)}
.sx-grid>.card.ac:nth-child(even),.sx-grid>.sx-card:nth-child(even){border-radius:var(--hd-rb)!important}
.lp-hub{transform:rotate(-.25deg)}
.pz{transform:rotate(-.3deg)}
/* buttons on the website: inked edge, wobbly, pressed down when clicked */
.sx-top .b,.sx-acts .b,.pz .b,.card.ac .b,.sx-card .b,.dm-bar .b,.lp-acts .b,.lp-seg button{border:2px solid var(--jx-ink)!important;border-radius:var(--hd-rb)!important;box-shadow:3px 3px 0 rgba(21,37,46,.22);transition:transform .12s,box-shadow .12s}
.sx-top .b:hover,.sx-acts .b:hover,.pz .b:hover,.card.ac .b:hover,.sx-card .b:hover,.dm-bar .b:hover{transform:translate(-1px,-1px) rotate(-.6deg);box-shadow:5px 5px 0 rgba(21,37,46,.22)}
.sx-top .b:active,.sx-acts .b:active,.pz .b:active,.card.ac .b:active,.sx-card .b:active,.dm-bar .b:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(21,37,46,.22)}
.lp-seg button{box-shadow:2px 2px 0 rgba(21,37,46,.18)}
.sx-card .pill,.card.ac .pill{border-radius:var(--hd-rb)}
/* the header's edge is drawn, not ruled */
.sx-top{border-bottom:0}
.sx-top::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:8px;background:var(--jx-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 8' preserveAspectRatio='none'%3E%3Cpath d='M0 4 C 200 1, 380 7, 600 4 S 1000 1, 1200 5' fill='none' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 8' preserveAspectRatio='none'%3E%3Cpath d='M0 4 C 200 1, 380 7, 600 4 S 1000 1, 1200 5' fill='none' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
/* sections meet on a wave, not a straight line */
section.sx,.sx-band,footer.sx-foot{position:relative}
section.sx.alt::before,.sc.sc2.alt::before,.sx-band::before,footer.sx-foot::before{content:'';position:absolute;left:0;right:0;top:-19px;height:20px;z-index:1;pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 20' preserveAspectRatio='none'%3E%3Cpath d='M0 11 C 130 2, 260 18, 420 9 S 700 1, 860 10 S 1100 19, 1200 7 V20 H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 20' preserveAspectRatio='none'%3E%3Cpath d='M0 11 C 130 2, 260 18, 420 9 S 700 1, 860 10 S 1100 19, 1200 7 V20 H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
section.sx.alt::before,.sc.sc2.alt::before{background:var(--ds-surface)}
.sx-band::before{background:var(--ds-orange)}
footer.sx-foot::before{background:var(--ds-navy)}
section.sx.alt::after,.sc.sc2.alt::after{content:'';position:absolute;left:0;right:0;bottom:-19px;height:20px;z-index:1;pointer-events:none;background:var(--ds-surface);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1200 V12 C 1060 4, 920 18, 760 10 S 470 2, 330 11 S 90 18, 0 9Z'/%3E%3C/svg%3E") top/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1200 V12 C 1060 4, 920 18, 760 10 S 470 2, 330 11 S 90 18, 0 9Z'/%3E%3C/svg%3E") top/100% 100% no-repeat}
.sx-hero{border-bottom:0}
/* the sync line is a squiggle */
.lp-pipe i{height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 10'%3E%3Cpath d='M0 5 Q 6 0, 12 5 T 24 5' fill='none' stroke='%23FFC720' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 50%/24px 10px repeat-x;animation:hdRun 1.6s linear infinite}
@keyframes hdRun{to{background-position:24px 50%}}
@media (max-width:900px){.lp-pipe i{width:10px;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 24'%3E%3Cpath d='M5 0 Q 0 6, 5 12 T 5 24' fill='none' stroke='%23FFC720' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50% 0/10px 24px repeat-y;animation:hdRunV 1.6s linear infinite}@keyframes hdRunV{to{background-position:50% 24px}}}
@media (prefers-reduced-motion:reduce){.lp-pipe i{animation:none}}
/* small hand-drawn touches */
.sc-says li::before{border-radius:50% 40% 55% 45%;transform:rotate(-8deg)}
.sx-win,.sc-phone{box-shadow:8px 10px 0 rgba(21,37,46,.14),0 20px 50px rgba(21,37,46,.12)}
.sx-foot nav a::after{content:none}
/* hand drawn, calmer (Ash: "boxes are too uneven"): nearly square corners with a slight give, a fine line, barely a tilt */
:root{--hd-r:16px 20px 17px 22px/20px 16px 22px 17px;--hd-rb:20px 16px 22px 17px/16px 20px 17px 22px}
.sx-grid>.card.ac:nth-child(odd),.sx-grid>.sx-card:nth-child(odd),.lp-end:first-child{transform:rotate(-.2deg)}
.sx-grid>.card.ac:nth-child(even),.sx-grid>.sx-card:nth-child(even),.lp-end:last-child{transform:rotate(.2deg)}
.lp-hub,.pz{transform:none}
.sx-top .b,.sx-acts .b,.pz .b,.card.ac .b,.sx-card .b,.dm-bar .b,.lp-acts .b,.lp-seg button{border-radius:12px 14px 12px 15px/14px 12px 15px 12px!important}
.sx-top .b:hover,.sx-acts .b:hover,.pz .b:hover,.card.ac .b:hover,.sx-card .b:hover,.dm-bar .b:hover{transform:translate(-1px,-1px)}
/* the calculator: sliding scales, drawn by hand */
.pz-grid{gap:18px 26px}
.pz-f span{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.pz-f span b{font-size:20px;color:var(--jx-ink);letter-spacing:-.3px}
.pz-f input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:14px;margin:10px 0 4px;background:linear-gradient(90deg,var(--ds-orange) var(--p,10%),#fff var(--p,10%));border:2px solid var(--jx-ink);border-radius:9px 12px 8px 11px/11px 8px 12px 9px;box-shadow:2px 2px 0 rgba(21,37,46,.18);cursor:pointer}
.pz-f input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:52% 48% 50% 46%;background:#fff;border:2.5px solid var(--jx-ink);box-shadow:2px 2px 0 rgba(21,37,46,.25)}
.pz-f input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:52% 48% 50% 46%;background:#fff;border:2.5px solid var(--jx-ink);box-shadow:2px 2px 0 rgba(21,37,46,.25)}
.pz-f input[type=range]:focus-visible{outline:2px solid var(--jx-ink);outline-offset:4px}
/* add-ons: a chip that fills in when it's on */
.pz-add{padding:7px 14px 7px 8px;background:#fff;border:2px solid rgba(21,37,46,.25);border-radius:14px 18px 13px 17px/17px 13px 18px 14px;transition:background .2s,border-color .2s,box-shadow .2s}
.pz-add:has(input:checked){background:#FFF6D6;border-color:var(--jx-ink);box-shadow:3px 3px 0 rgba(21,37,46,.18)}
.hsw{position:relative;display:inline-flex;flex:none}
.hsw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.hsw i{display:block;position:relative;width:46px;height:26px;border-radius:13px 15px 12px 16px/15px 12px 16px 13px;background:#fff;border:2px solid var(--jx-ink);box-sizing:border-box;transition:background .2s}
.hsw i::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:52% 48% 50% 46%;background:#F4F6F7;border:2px solid var(--jx-ink);box-sizing:border-box;transition:transform .25s cubic-bezier(.3,1.6,.6,1),background .2s}
.hsw input:checked+i{background:#FFC720}
.hsw input:checked+i::after{transform:translateX(20px) rotate(25deg);background:#fff}
.hsw input:focus-visible+i{outline:2px solid var(--jx-ink);outline-offset:3px}
/* the steps beside each demo: no dots, the big words carry it */
.sc-says li{padding-left:0}
.sc-says li::before{content:none}
/* app names: always Poppins (Ash), extra bold and tight so they stand out */
.an,.sx-top .brand-t b,.ac-top h3,.orb-c b,.orb-tip b,.lp-h b.an{font-family:Poppins,"Helvetica Neue",Arial,sans-serif;font-weight:800;letter-spacing:-.035em}
@media (max-width:520px){.pz-in{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sx-small{margin-top:14px}}
/* the sync, made obvious: one big change per box, a running tally, then the buttons */
.lp-big{display:block;font-size:clamp(20px,2.2vw,26px);line-height:1.15;font-weight:800;letter-spacing:-.5px;color:var(--jx-ink)}
.lp-big.down{color:#B42318}
.lp-big.up{color:#1E7B34}
.lp-hub .lp-big.down,.lp-hub .lp-big.up{color:var(--jx-ink)}
.lp-big.show{animation:lpFade .6s ease}
.lp-end .lp-now,.lp-hub .lp-now{font-size:14px;min-height:1.4em}
.lp-tally{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 28px;margin:22px 0 0;font-size:16px;font-weight:600;color:var(--ds-ink-2)}
.lp-tally b{font-size:22px;color:var(--jx-ink);margin-left:6px}
.lp-zero{background:#FFF6D6;border:2px solid var(--jx-ink);border-radius:14px 18px 13px 17px/17px 13px 18px 14px;padding:4px 14px;color:var(--jx-ink)}
.lp-zero b{color:#1E7B34}
.sx-cta{justify-content:center;margin-top:26px}
.sx .sx-cta .b-p,.sc-says li.sc-cta .b-p{background:var(--jx-ink);border-color:var(--jx-ink);color:#fff}
.sc-says li.sc-cta{display:flex;gap:10px;flex-wrap:wrap}
.sc-says li.sc-cta .b{border:2px solid var(--jx-ink);border-radius:12px 14px 12px 15px/14px 12px 15px 12px;box-shadow:3px 3px 0 rgba(21,37,46,.22)}
.sc-says li.sc-cta .b::after{content:none}
@media (max-width:900px){.sc-says li.sc-cta{justify-content:center}}
/* Reports Junction preview */
.rp-win{border-radius:14px;border-bottom:1px solid rgba(0,0,0,.08);margin:0 auto}
.rp-win .main{padding-bottom:22px}
.rp-win .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.rp-win .card{margin:0}
@media (max-width:900px){.rp-win .grid-2{grid-template-columns:minmax(0,1fr)}}
.sx-hero .rp-win{margin-top:36px}
/* steps with no words under them: a small numbered row, not big lone words */
.sc-says:not(:has(span)){flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;counter-reset:st}
.sc-says:not(:has(span)) li{counter-increment:st;display:flex;align-items:center;gap:8px}
.sc-says:not(:has(span)) li b{font-size:17px;letter-spacing:-.2px;line-height:1;display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--jx-ink);border-radius:12px 15px 11px 14px/14px 11px 15px 12px;padding:9px 14px;box-shadow:3px 3px 0 rgba(21,37,46,.16)}
.sc-says:not(:has(span)) li b::before{content:counter(st);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#FFC720;color:var(--jx-ink);font-size:13px;font-weight:800}
.sc-says:not(:has(span)) li:not(:last-child)::after{content:'→';position:static;width:auto;height:auto;background:none;box-shadow:none;color:var(--jx-ink);font-weight:800;font-size:18px}
@media (max-width:900px){.sc-says:not(:has(span)){justify-content:center}.sc-wide{gap:24px}}
/* hero on a phone: room under the buttons, no dead space above the app icons */
.sx-hero .sx-small{margin:16px 0 0;font-size:15px;font-weight:600}
@media (max-width:900px){.sx-lead{gap:0;margin-bottom:24px}.orb{margin:-56px auto -36px;width:min(300px,86%)}}
/* app names as the app shows them: Poppins 700, normal spacing */
.an,.sx-top .brand-t b,.ac-top h3,.orb-c b,.orb-tip b,.lp-h b.an{font-weight:700;letter-spacing:normal}
.sc-head h2.an{font-weight:700;letter-spacing:-2px}
/* buttons read in ink, as in the app */
.card.ac .b:not(.b-p),.sx-card .b:not(.b-p),.sx-cta .b:not(.b-p),.sc-cta .b:not(.b-p),.pz .b:not(.b-p),.sx-acts .b:not(.b-p){color:var(--jx-ink)}
/* Apps: Stock Junction is the big one; the others sit underneath as extras */
.sx-suite .sx-grid.g4{grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-suite .sx-grid.g4>.card.ac:first-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:28px;transform:none}
.sx-suite .sx-grid.g4>.card.ac:first-child .ac-top .appi{width:84px;height:84px;border-radius:21px}
.sx-suite .sx-grid.g4>.card.ac:first-child .ac-top .appi svg{width:42px;height:42px}
.sx-suite .sx-grid.g4>.card.ac:first-child h3{font-size:clamp(24px,3vw,32px)}
.sx-suite .sx-grid.g4>.card.ac:first-child>p{flex:1 1 260px;font-size:18px;color:var(--jx-ink)}
.sx-suite .sx-grid.g4>.card.ac:first-child>a.b{margin:0}
@media (max-width:900px){.sx-suite .sx-grid.g4{grid-template-columns:minmax(0,1fr)}}
/* the pricing icon: white on orange, as everywhere else (the grey price line was bleeding into it) */
.pz-top .pz-icon{color:#fff;padding:0;background:none;box-shadow:none;margin:0}
.pz-top .pz-icon svg,.pz-top .pz-icon .appi{color:#fff}
.rp-win .rp-stack{display:grid;gap:var(--gap)}
/* the sync on a phone: one screen, top to bottom (Ash, 7 Nov 2026) */
@media (max-width:900px){
  .lp-bar{flex-wrap:nowrap;gap:8px;margin-bottom:12px}
  .lp-seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0;padding:2px 4px 6px 2px}
  .lp-seg::-webkit-scrollbar{display:none}
  .lp-lbl{display:none}
  .lp-seg button{white-space:nowrap;font-size:12.5px;padding:6px 11px;flex:none}
  .lp-acts{flex:none}
  .lp-acts .b{font-size:12.5px;padding:6px 11px;min-height:0}
  .lp-end,.lp-hub{min-height:0;padding:12px 16px;gap:2px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"h big" "h now";column-gap:14px;align-items:center}
  .lp-end .lp-h,.lp-hub .lp-h{grid-area:h;align-self:center}
  .lp-end .lp-big,.lp-hub .lp-big{grid-area:big;text-align:right;font-size:19px}
  .lp-end .lp-now,.lp-hub .lp-now{grid-area:now;text-align:right;font-size:13px;min-height:1.2em}
  .lp-h b{font-size:15px}
  .lp-pipe{height:30px}
  .lp-tally{margin-top:14px;gap:8px 18px;font-size:14px}
  .lp-tally b{font-size:18px}
}
/* Login always shows in the header, phones too */
@media (max-width:1060px){.sx-nav a[href="/login"]{display:inline-flex}.sx-nav{gap:14px}}
@media (max-width:420px){.sx-top .brand-t b{font-size:16px}.sx-nav a.b{padding:8px 12px;font-size:13px}.sx-nav a[href="/login"]{font-size:13px}}
@media (max-width:480px){.sx-nav .sx-cust{display:none}.sx-nav{gap:10px}.sx-top .wrap{gap:8px}.sx-top .brand{gap:8px}.sx-top .brand .mark,.sx-top .brand .mark svg{width:32px;height:32px}.sx-top .brand-t b{font-size:15px;white-space:nowrap}.sx-nav a.b{padding:7px 11px;font-size:12.5px}.sx-nav a[href="/login"]{font-size:13px}}
