:root{--bone:#FFFFFF;--paper:#FFFFFF;--ink:#111014;--ink-2:#4A4756;--line:#E7E7EF;--oxblood:#2B59FF;--oxblood-2:#1C40D6;--lime:#C8FF1F;--sage:#F3F5FF;--teal:#FF2D87;--pink:#FF2D87;--night:#0E1030}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bone);color:var(--ink);font:17px/1.55 'Instrument Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:6px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.label,figcaption,.pill{font:500 11px/1.5 'IBM Plex Mono',monospace;letter-spacing:1px}.label{text-transform:uppercase}.nav{display:flex;align-items:center;gap:44px;padding-block:28px;border-bottom:1px solid var(--line)}.logo{font:800 32px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-1.5px;color:var(--oxblood)}.logo span{display:inline-block;margin-left:3px;background:var(--lime);color:var(--ink);font-size:25px;padding:0 4px}.nav nav{display:flex;gap:26px;font-size:14px}.nav-actions{margin-left:auto;display:flex;gap:25px;align-items:center;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--oxblood);color:var(--paper);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:12px 22px;border-radius:9px;font-size:15px;font-weight:600}.button:hover{background:var(--oxblood-2)}.button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.button.lime{background:var(--lime);color:var(--ink)}.button.lime:hover{background:#c5e343}.button.small{min-height:40px;padding:9px 17px;font-size:13px}.text-link{font-weight:600;text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center;padding-block:76px 84px}.ticket{display:inline-block;border-block:1px dashed var(--ink-2);padding:9px 0;margin-bottom:26px}h1,h2,h3,blockquote{font-family:'Bricolage Grotesque',sans-serif;line-height:1.04;letter-spacing:-.02em;margin:0}h1{font-size:clamp(48px,5.25vw,78px);font-weight:800}h1 em{font-style:normal;color:var(--oxblood)}h2{font-size:clamp(35px,3.4vw,50px);font-weight:700}h3{font-size:27px}p{color:var(--ink-2)}.lead{font-size:18px;line-height:1.6;margin-block:24px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-block:28px}.fine{font-size:12px;line-height:1.6}.hero-copy .fine{max-width:340px}.product-visual{background:var(--sage);padding:22px;border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);transform:rotate(1deg)}.visual-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.stamp{font:700 11px/1.25 'Bricolage Grotesque',sans-serif;border:1px solid var(--ink);padding:8px;transform:rotate(-7deg)}.screens{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-block:22px 20px;align-items:start}.screens figure{margin:0;min-width:0}.screens figcaption{font-size:9px;letter-spacing:.3px;margin-bottom:10px}.screens img{display:block;width:100%;height:auto;border:3px solid var(--ink);border-radius:19px}.store-screen{padding-top:42px}.visual-footer{border-top:1px dashed var(--ink-2);padding-top:15px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px}.visual-footer .label{font-size:9px}.built{border-block:1px solid var(--line);padding-block:26px}.built .wrap{display:flex;align-items:center;gap:32px}.chips{display:flex;gap:9px;flex-wrap:wrap}.chips span,.pill{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px}.chips span:last-child{border-style:dashed}.section{padding-block:90px}.section-heading{position:relative;margin-bottom:38px}.section-heading .label{display:block;margin-bottom:22px}.section-heading>a{position:absolute;bottom:4px;right:0;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.steps article{border-top:2px solid var(--ink);padding-top:22px}.step-number{display:block;font:500 13px 'IBM Plex Mono',monospace;color:var(--oxblood);margin-bottom:28px}.steps h3{font-size:26px}.products{display:grid;grid-template-columns:1fr 1fr;gap:24px}.product-card{position:relative;overflow:hidden;min-height:265px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);padding:28px;box-shadow:4px 4px 0 var(--ink)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.pill{font-size:10px;letter-spacing:0;background:var(--bone)}.product-card h3{max-width:80%}.product-card p{max-width:78%;margin-bottom:0}.card-mark{position:absolute;right:28px;bottom:14px;font-size:65px;line-height:1;color:var(--oxblood)}.product-card:last-child{background:var(--sage)}.payments{background:var(--sage);padding-block:80px}.payments-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.payments h2{margin-top:24px}.payments .lead{margin-top:0}.capabilities{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:9px}.capabilities li{border:1px solid #8a9d88;border-radius:999px;font-size:12px;padding:6px 12px}.dev{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dev h2{margin-top:24px}.dev p{max-width:450px}.dev p code{font-size:14px}.code-ticket{background:var(--ink);color:var(--bone);border-radius:14px;border:2px solid var(--ink);padding:27px}.code-ticket>.label{color:var(--lime)}pre{font:14px/1.9 'IBM Plex Mono',monospace;white-space:pre-wrap;overflow-wrap:anywhere;padding-block:20px}.code-stub{border-top:1px dashed var(--bone);padding-top:20px;font:12px 'IBM Plex Mono',monospace;display:flex;justify-content:space-between}.code-stub span{color:var(--lime);font-size:22px}.founder{border-block:1px solid var(--line);padding-block:55px}.founder blockquote{max-width:960px;font-size:36px;margin-block:26px}.founder>div{display:flex;justify-content:space-between;align-items:center}.closing{text-align:center;padding-block:100px}.closing h2{font-size:clamp(48px,6vw,80px);margin-top:20px;color:var(--oxblood)}.closing .actions{justify-content:center}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-block:30px 40px;font-size:11px}footer>div{display:flex;gap:18px;flex-wrap:wrap}footer>div span{color:var(--ink-2)}.about-hero{padding-block:75px;border-bottom:1px solid var(--line)}.about-hero h1{max-width:950px}.founder-name{margin-top:45px}.founder-name h2{font-size:30px}.founder-name p{margin:8px 0}.founder-name a{font-size:14px}.history{display:grid;grid-template-columns:1fr 1fr;gap:90px}.history h2{margin-top:22px}.history article{border-top:1px solid var(--line);padding:25px 0}.history article h3{margin-top:12px}.why{background:var(--sage);padding-block:80px}.why h2{margin-block:25px 40px}.story{columns:2;column-gap:65px}.story p{margin-top:0}.why blockquote{font-size:35px;max-width:750px;border-top:1px dashed var(--ink-2);padding-top:35px;margin-top:40px}dialog{max-width:520px;width:calc(100% - 40px);background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:35px;color:var(--ink);box-shadow:6px 6px 0 var(--ink)}dialog::backdrop{background:#15130f99}dialog h2{font-size:36px;margin-top:20px}.close{position:absolute;right:12px;top:7px;background:none;border:0;font-size:30px}.skip{position:absolute;top:-100px;left:20px;background:var(--lime);padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav{gap:25px}.nav nav{gap:15px}.nav-actions .text-link{display:none}.hero{gap:30px}h1{font-size:56px}.visual-heading>.label{font-size:9px}.payments-grid,.dev{gap:40px}footer{flex-wrap:wrap}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav{flex-wrap:wrap;gap:20px;padding-block:22px}.logo{font-size:29px}.nav nav{order:3;width:100%;justify-content:space-between;font-size:13px}.nav-actions{margin-left:auto}.hero{display:block;padding-block:40px 48px}.hero h1{font-size:46px;line-height:1.04}.lead{font-size:16px}.actions{gap:12px}.button{font-size:13px;padding:12px 16px}.hero .fine{max-width:100%}.product-visual{margin-top:40px;padding:15px;transform:none}.screens{gap:12px}.screens img{border-width:2px;border-radius:13px}.visual-footer{font-size:8px}.visual-footer .label{font-size:8px}.built .wrap{display:block}.chips{margin-top:15px;gap:8px}.chips span{font-size:11px}.section{padding-block:55px}.section-heading>a{position:static;display:inline-block;margin-top:22px}.steps,.products,.payments-grid,.dev,.history{grid-template-columns:1fr;gap:26px}.steps h3{font-size:26px}.step-number{margin-bottom:15px}.steps p{margin-bottom:0}.product-card{padding:23px;min-height:260px}.product-card h3{font-size:28px}.product-card p{font-size:15px}.payments{padding-block:50px}.payments-grid{gap:24px}.payments h2{font-size:36px}.code-ticket{padding:22px}pre{font-size:12px}.founder{padding-block:40px}.founder blockquote{font-size:29px}.founder>div{font-size:13px}.closing{padding-block:60px}.closing h2{font-size:54px}footer{align-items:flex-start;gap:22px}footer>div{gap:18px}.about-hero{padding-block:40px}.about-hero h1{font-size:44px}.history h2{font-size:36px}.why{padding-block:50px}.story{columns:1}.why blockquote{font-size:29px}dialog .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.capture-pending{aspect-ratio:390/844;border:2px dashed var(--ink-2);border-radius:14px;padding:25px 14px;display:flex;flex-direction:column;justify-content:center;font-size:16px}.capture-pending small{font-size:11px;line-height:1.5}

h1,h2,.logo,.closing h2{font-family:'Lilita One','Bricolage Grotesque',sans-serif;font-weight:400;letter-spacing:-.005em}
.hero-video{position:relative;overflow:hidden;background:var(--night);color:#fff;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.hv-media{position:absolute;inset:0}
.hv-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.hv-clip.is-on{opacity:1}
.hv-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,36,.72) 0%,rgba(10,12,36,.42) 42%,rgba(10,12,36,0) 70%),linear-gradient(0deg,rgba(10,12,36,.45),rgba(10,12,36,0) 30%)}
.hv-inner{position:relative;z-index:1;padding-block:90px}
.hero-video .hero-copy{max-width:600px}
.hero-video h1{font-size:clamp(52px,6vw,92px);line-height:.98;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-video h1 em{font-style:normal;color:var(--lime)}
.hero-video .lead,.hero-video .fine{color:#C9CDEB}
.hero-video .ticket{border-color:#5a5f8f;color:#C9CDEB}
.hero-video .button{border-color:#fff;box-shadow:4px 4px 0 #fff}
.hero-video .button.lime{border-color:var(--ink);box-shadow:4px 4px 0 var(--pink)}
.hv-dots{position:relative;z-index:1;display:flex;gap:8px;padding-bottom:28px}
.hv-dots span{width:28px;height:4px;border-radius:2px;background:#ffffff40}
.hv-dots span.on{background:var(--lime)}
.button.lime:hover{background:#b6ec0b}
.logo span{background:var(--lime)}
.nav .logo{color:var(--oxblood)}
@media(max-width:700px){.hero-video{min-height:auto}.hv-media{inset:0}.hv-scrim{background:linear-gradient(0deg,rgba(10,12,36,.92) 30%,rgba(10,12,36,.45) 60%,rgba(10,12,36,.05))}.hv-inner{padding-block:300px 30px}.hero-video h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.hv-clip{transition:none}}

body.has-hero .nav{position:absolute;top:0;left:0;right:0;z-index:5;border-bottom-color:rgba(255,255,255,.18);color:#fff}
body.has-hero .nav .logo{color:#fff}
body.has-hero .hero-video .hv-inner{padding-top:150px}
@media(max-width:700px){body.has-hero .hero-video .hv-inner{padding-top:330px}}

.proof{padding-block:90px;background:var(--sage)}
.proof-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px}
.proof figure{margin:0}
.demo-clip{display:block;width:100%;aspect-ratio:1280/942;object-fit:cover;background:var(--night);border:3px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 var(--ink)}
.proof figcaption{margin-top:16px;color:var(--ink-2);font-size:15px;max-width:520px}
.proof figcaption b{color:var(--ink)}
@media(max-width:700px){.proof{padding-block:55px}.proof-grid{grid-template-columns:1fr}.demo-clip{aspect-ratio:720/994}}
.proof figcaption{font:400 15px/1.55 'Instrument Sans',sans-serif;letter-spacing:0}
.story-lead{max-width:820px;font-size:20px}
.chapters{display:grid;gap:0}
.chapter{display:grid;grid-template-columns:260px 1fr;column-gap:56px;border-top:2px solid var(--ink);padding:40px 0}
.chapter .label{grid-row:span 2;color:var(--oxblood);padding-top:6px}
.chapter h2{font-size:clamp(30px,3vw,42px);margin-bottom:14px}
.chapter p{max-width:720px;margin:0;font-size:18px;line-height:1.65}
@media(max-width:700px){.story-lead{font-size:17px}.chapter{grid-template-columns:1fr;padding:28px 0}.chapter .label{grid-row:auto;margin-bottom:12px}.chapter h2{font-size:30px}.chapter p{font-size:16px}}
/* Mobile hero: show the whole landscape film as a strip under the nav, headline below on solid night (no cropping, no text over the action). */
@media(max-width:700px){
  .hero-video{display:block;min-height:0;padding-top:118px}
  .hv-media{position:relative;inset:auto;aspect-ratio:16/9;margin:0 16px;border-radius:16px;overflow:hidden;border:2px solid #ffffff26;box-shadow:0 14px 40px #0008}
  .hv-scrim{display:none}
  body.has-hero .hero-video .hv-inner{padding-top:28px;padding-bottom:36px}
  .hero-video h1{font-size:44px}
}
/* Comparison page (/appcharge-alternative/) */
.vs-answer{max-width:860px}.vs-answer h2{margin:18px 0 16px}.vs-answer p{font-size:19px;line-height:1.65;color:var(--ink)}.vs-answer a,.vs-table a,.vs-fair a,.vs-faq a,.vs-quotes a,.why .fine a{text-decoration:underline;text-underline-offset:3px}
.vs-section{padding-top:0}.vs-table{border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);overflow:hidden}.vs-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.vs-table th,.vs-table td{text-align:left;vertical-align:top;padding:18px 20px;border-bottom:1px solid var(--line)}.vs-table tbody tr:last-child>*{border-bottom:0}.vs-table thead th{background:var(--ink);color:#fff;font:400 22px/1.1 'Lilita One',sans-serif;letter-spacing:.3px}.vs-table thead small{display:block;font:500 10px/1.6 'IBM Plex Mono',monospace;letter-spacing:.5px;color:#B9BCD6;margin-top:6px;text-transform:uppercase}
.vs-table thead th.us{background:var(--oxblood)}.vs-table tbody th{width:19%;font-weight:600;color:var(--ink)}.vs-table td{color:var(--ink-2);width:40.5%}.vs-table td.us{background:var(--sage);color:var(--ink)}.vs-table td.them-win{background:#FFFBE6}.vs-table code{font-size:13px}
.vs-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:26px}.why .vs-quotes blockquote{margin:0;max-width:none;border:2px solid var(--ink);border-top:2px solid var(--ink);border-radius:14px;background:#fff;padding:24px;box-shadow:4px 4px 0 var(--ink);font-size:inherit}.vs-quotes p{font:400 24px/1.2 'Lilita One',sans-serif;color:var(--ink);margin:0 0 16px}.vs-quotes cite{font-style:normal;font-size:13px;color:var(--ink-2)}
.vs-fair{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-top:2px solid var(--ink);padding-top:40px}.vs-fair h2{margin-top:18px}.vs-fair ul{margin:0;padding-left:20px;font-size:18px;line-height:1.65;color:var(--ink-2)}.vs-fair li{margin-bottom:14px}
.vs-faq{max-width:900px}.vs-faq details{border-top:1px solid var(--line);padding:20px 0}.vs-faq details:last-child{border-bottom:1px solid var(--line)}.vs-faq summary{font:700 21px/1.3 'Bricolage Grotesque',sans-serif;cursor:pointer;list-style:none}.vs-faq summary::after{content:'+';float:right;color:var(--oxblood)}.vs-faq details[open] summary::after{content:'–'}.vs-faq summary::-webkit-details-marker{display:none}.vs-faq p{margin:12px 0 0;max-width:760px}
@media(max-width:700px){.vs-table{border-radius:12px;box-shadow:4px 4px 0 var(--ink)}.vs-table thead{display:none}.vs-table tr{display:block;border-bottom:2px solid var(--ink)}.vs-table tbody tr:last-child{border-bottom:0}.vs-table th,.vs-table td{display:block;width:auto!important;padding:12px 16px;border:0}.vs-table tbody th{background:var(--ink);color:#fff;font:400 18px/1.2 'Lilita One',sans-serif}.vs-table td::before{display:block;font:500 10px/1.6 'IBM Plex Mono',monospace;letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px;color:var(--ink-2)}.vs-table td:not(.us)::before{content:'Appcharge'}.vs-table td.us::before{content:'Appside';color:var(--oxblood)}.vs-quotes,.vs-fair{grid-template-columns:1fr;gap:20px}.vs-quotes p{font-size:21px}.vs-answer p{font-size:17px}.vs-faq summary{font-size:18px}}
.vs-rate{font:400 30px/1 'Lilita One',sans-serif;color:var(--oxblood);display:block;margin-bottom:6px}
.vs-pricing{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}.vs-pricing h2{margin:18px 0 14px}.vs-price-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vs-card{border:2px solid var(--ink);border-radius:14px;padding:26px;box-shadow:4px 4px 0 var(--ink);background:#fff}.vs-card strong{display:block;font:400 72px/1 'Lilita One',sans-serif;margin:14px 0 10px;color:var(--ink-2)}.vs-card.them strong{text-decoration:line-through;text-decoration-color:var(--pink);text-decoration-thickness:5px}.vs-card.us{background:var(--oxblood);color:#fff;transform:rotate(-1deg)}.vs-card.us strong{color:var(--lime)}.vs-card.us p{color:#E3E8FF}.vs-card p{font-size:14px}.vs-card a:not(.button){text-decoration:underline}.vs-card.us .label{color:var(--lime)}#pricing>.fine{margin-top:26px}
@media(max-width:700px){.vs-pricing,.vs-price-cards{grid-template-columns:1fr;gap:20px}.vs-card strong{font-size:58px}.vs-card.us{transform:none}}
.vs-era{padding-top:70px}.vs-era .lead{max-width:860px}.vs-era .lead a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.vs-era{padding-top:55px}.vs-era .vs-table td:not(.us)::before{content:'Built in 2022 · Appcharge'}.vs-era .vs-table td.us::before{content:'Built in 2026 · Appside'}}

/* Published comparison navigation */
footer:has(.footer-compare){flex-wrap:wrap}.footer-compare{display:flex;flex:1 0 100%;align-items:baseline;flex-wrap:wrap;gap:12px 18px;border-top:1px solid var(--line);padding-top:20px}.footer-compare strong::after{content:":"}
