@font-face{font-family:"ShopMate Cormorant";src:url("assets/fonts/cormorant-garamond.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"ShopMate Cormorant";src:url("assets/fonts/cormorant-garamond-italic.woff2") format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"ShopMate Serif SC";src:url("assets/fonts/noto-serif-sc.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
:root{--paper:#f6f2e9;--ink:#25261f;--red:#b63a2b;--muted:#797367;--rule:#ded6c6;--serif:"ShopMate Cormorant","ShopMate Serif SC",Georgia,'Songti SC','STSong',serif;--chapters:var(--serif);--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}img{display:block;max-width:100%}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.red{color:var(--red)}.wrap{width:min(1280px,88vw);margin:auto}.header{height:86px;width:88vw;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.wordmark{display:flex;align-items:center;font:700 29px var(--serif);letter-spacing:-1px}.mark{display:grid;place-items:center;background:var(--red);color:var(--paper);width:34px;height:36px;border-radius:10px;margin-right:11px;font-size:25px}nav{display:flex;align-items:center;gap:34px;font-size:13px}.github{border:1px solid var(--rule);padding:11px 19px;border-radius:25px}.github span{margin-left:18px}.github:hover{background:var(--ink);color:var(--paper)}nav a:hover{color:var(--red)}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--ink);color:white;z-index:99}.skip:focus{top:10px}.eyebrow{font-size:11px;font-weight:600;line-height:1.8;letter-spacing:2px;color:var(--muted);margin-bottom:26px}.eyebrow i{display:inline-block;background:var(--red);border-radius:50%;width:6px;height:6px;margin:0 10px 2px 0}.experience{height:1150vh;position:relative}.experience-stage{position:sticky;top:0;height:100svh;min-height:630px;overflow:clip}.stage-inner{position:relative;width:min(1280px,88vw);height:100%;margin:auto}.hero-copy{position:absolute;left:0;top:50%;width:52%;transform:translateY(-50%);will-change:opacity,transform;z-index:2}h1{font:500 clamp(44px,4.5vw,70px)/1.4 var(--serif);letter-spacing:-2px}.hero-lede{font-size:24px;line-height:1.7;margin-top:28px}.hero-detail{font-size:14px;color:var(--muted);line-height:1.95;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-radius:34px;padding:16px 24px;background:var(--red);color:#fff8eb;margin-top:29px;font-size:15px}.button:hover{background:#9b3024}.platforms{display:flex;gap:26px;align-items:center;margin-top:29px;color:#6d675b;font-size:11px;letter-spacing:1px}.platforms span{display:flex;align-items:center;gap:7px}.platforms svg{width:18px;height:19px}.scene-decor{position:absolute;right:-2%;top:50%;width:48%;height:650px;transform:translateY(-50%);pointer-events:none;will-change:opacity}.arch{position:absolute;inset:12% -2% 5% 3%;background:#e7deca;border-radius:50% 50% 2% 2%;transform:rotate(-4deg)}.coffee-note{position:absolute;z-index:3;left:-10%;bottom:5%;width:210px;background:#fffcf5;padding:9px 9px 23px;transform:rotate(-10deg);box-shadow:0 12px 40px #30271d18}.coffee-note img{width:100%;height:150px;object-fit:cover}.coffee-note figcaption{font:italic 12px var(--serif);text-align:center;margin-top:12px}.floating-note{position:absolute;z-index:3;top:15%;left:-20%;display:flex;align-items:center;gap:12px;padding:17px 20px;background:#fffdf6;border:1px solid #e9e1d3;border-radius:13px;transform:rotate(-5deg);box-shadow:0 8px 25px #30271d0d}.floating-note>span{color:var(--red);font-size:34px}.floating-note strong{font-size:13px}.floating-note small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.device-anchor{position:absolute;z-index:1;transform-origin:center;will-change:transform,width,height}.device-float{width:100%;height:100%;transform-origin:center;animation:drift 7s ease-in-out infinite}.device-shell{position:relative;width:100%;height:100%;padding:7px;border-radius:46px;background:#25261f;box-shadow:0 28px 65px #382d2922,0 2px 0 #616356 inset;overflow:hidden}.screen-media{position:absolute;inset:7px;border-radius:39px;overflow:hidden;background:var(--paper)}.screen-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.screen-media video.active{opacity:1}.wide-media{opacity:0;pointer-events:none;border-radius:19px}.wide-media video{object-fit:contain}.device-anchor.expanding .device-shell{border-radius:25px}.device-anchor.expanding .screen-media{border-radius:19px}.device-anchor.expanding .wide-media{pointer-events:auto}@keyframes drift{0%,100%{transform:translateY(5px) rotate(5deg)}50%{transform:translateY(-15px) rotate(1.5deg)}}.buyer-copy{position:absolute;top:50%;left:55%;width:45%;transform:translateY(-50%);opacity:0;pointer-events:none}.buyer-copy.visible{pointer-events:auto}.copy-stack{position:relative;min-height:280px}.copy-stack article{position:absolute;inset:0;opacity:0;transform:translateY(22px);pointer-events:none}.copy-stack article.active{opacity:1;transform:none}.copy-stack h2{font:500 clamp(34px,3.3vw,51px)/1.45 var(--serif);letter-spacing:-.8px}.copy-stack p{font-size:15px;line-height:2;color:var(--muted);margin-top:24px}.step-tags{display:flex;gap:18px;font-size:11px;margin-top:25px;color:#8b7d66}.motion-control{position:absolute;right:0;bottom:24px;z-index:9;border:1px solid var(--rule);border-radius:30px;padding:8px 12px;background:#f6f2e9e8;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.scroll-hint{position:absolute;left:0;bottom:24px;font-size:9px;letter-spacing:2px;color:var(--muted)}.scroll-hint i{display:inline-block;font-size:17px;margin-left:9px;animation:down 2s ease-in-out infinite}@keyframes down{50%{transform:translateY(5px)}}.scroll-anchor{position:absolute;top:140vh}.merchant-section{position:relative;height:750vh;background:#eee7d8;border-top:1px solid #e3dac8}.engineering{padding-top:100px;padding-bottom:100px}.engineering h2{font:500 42px/1.5 var(--serif)}.engineering-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.engineering-grid article{border-top:1px solid var(--rule);padding-top:24px}.engineering-grid article>span{color:var(--red);font-size:11px}.engineering h3{font:500 23px var(--serif);margin:20px 0 15px}.engineering p{font-size:14px;line-height:1.95;color:var(--muted)}.closing{border-top:1px solid var(--rule);display:flex;align-items:center;gap:30px;padding-top:60px;padding-bottom:65px}.closing>span{font:700 76px var(--serif);color:var(--red)}.closing p{font:500 29px/1.55 var(--serif)}.closing a{margin-left:auto;font-size:12px}.footer{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;padding-top:28px;padding-bottom:30px}.footer>span:last-child{font:italic 14px var(--serif);color:var(--muted)}.motion-paused .device-float,.motion-paused .scroll-hint i{animation-play-state:paused}
@media(min-width:1500px){.hero-detail{font-size:16px}.hero-lede{font-size:28px}.copy-stack{min-height:330px}.copy-stack p{font-size:17px}}
@media(max-width:800px){.header{height:72px}nav{gap:17px;font-size:12px}.wordmark{font-size:24px}.mark{width:28px;height:30px;font-size:22px}.github{padding:9px 12px}.github span{margin-left:8px}.experience{height:1150vh}.experience-stage{min-height:620px}.stage-inner{width:90vw}.hero-copy{top:7%;transform:none;width:100%;text-align:center}.hero-copy .eyebrow{margin-bottom:12px;font-size:10px}h1{font-size:36px;line-height:1.32;letter-spacing:-1px}.hero-lede{font-size:15px;line-height:1.7;margin-top:12px}.hero-lede br{display:none}.hero-detail{display:none}.button{padding:11px 17px;margin-top:15px;font-size:12px;gap:27px}.platforms{justify-content:center;margin-top:15px;gap:24px;font-size:10px}.platforms svg{width:15px;height:16px}.scene-decor{display:none}.device-shell{padding:5px;border-radius:33px}.screen-media{inset:5px;border-radius:28px}.buyer-copy{top:7%;left:0;width:100%;transform:none;text-align:center}.buyer-copy>.eyebrow{margin-bottom:10px;font-size:9px}.copy-stack{min-height:145px}.copy-stack h2{font-size:28px;line-height:1.38}.copy-stack h2 br{display:none}.copy-stack p{font-size:12px;line-height:1.8;margin-top:10px}.step-tags{display:none}.motion-control{bottom:14px;padding:8px;font-size:10px}.scroll-hint{font-size:8px;bottom:21px;letter-spacing:1px}.engineering{padding-top:60px;padding-bottom:60px}.engineering h2{font-size:33px}.engineering-grid{grid-template-columns:1fr;gap:27px;margin-top:30px}.engineering h3{font-size:23px;margin-top:15px}.engineering p{font-size:14px}.closing{padding:40px 0;gap:18px;flex-wrap:wrap}.closing>span{font-size:58px}.closing p{font-size:22px}.closing a{width:100%;margin-left:53px}.footer .wordmark{font-size:24px}.footer>span:last-child{font-size:11px}}
@media(max-width:380px){nav>a:not(.github){display:none}.hero-copy{top:4%}h1{font-size:31px}.hero-lede{font-size:13px}.copy-stack h2{font-size:25px}.copy-stack p{font-size:11px}.platforms{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}.merchant-demo{transform-origin:top left}.merchant-demo .md-nav{align-items:stretch}

.mark{background:none;border-radius:0;object-fit:contain;width:35px;height:40px}.closing-logo{width:65px;height:76px}.closing a{border:1px solid #b5a995;border-radius:30px;padding:13px 23px;font-size:14px;white-space:nowrap}.closing a:hover{background:var(--ink);color:var(--paper)}
.buyer-copy{top:38%;transform:none}.copy-stack{height:340px;min-height:0;overflow:clip;mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 12px),transparent)}.copy-stack article{padding-top:12px;will-change:transform,opacity}
.floating-note{animation:note-drift 7s ease-in-out -2s infinite}.coffee-note{animation:coffee-drift 8.2s ease-in-out -4s infinite}.motion-paused .floating-note,.motion-paused .coffee-note{animation-play-state:paused}
@keyframes drift{0%,100%{transform:translateY(calc(5px * var(--float,1))) rotate(calc(5deg * var(--float,1)))}50%{transform:translateY(calc(-15px * var(--float,1))) rotate(calc(1.5deg * var(--float,1)))}}
@keyframes note-drift{0%,100%{transform:translateY(5px) rotate(-5.5deg)}50%{transform:translateY(-7px) rotate(-3deg)}}@keyframes coffee-drift{0%,100%{transform:translateY(-5px) rotate(-10.5deg)}50%{transform:translateY(7px) rotate(-8deg)}}
@media(max-width:800px){.mark{width:29px;height:32px}.buyer-copy{top:21%}.copy-stack{height:150px}.copy-stack article{padding-top:8px}.closing a{width:auto;margin-left:auto}.closing-logo{width:48px;height:58px}}
@media(max-width:800px){.buyer-copy{top:23%}}



/* A shared baseline keeps chapter names aligned as the numerals change size. */
.buyer-navigation{position:absolute;z-index:4;opacity:0;pointer-events:none;--wide-nav:0}
.buyer-navigation .eyebrow{margin-bottom:12px}
.chapter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:100%;position:relative}
.chapter-nav button{--chapter-weight:0;--number-size:calc(30px + 16px * var(--chapter-weight));--number-width:calc(var(--number-size) * 1.15);position:relative;min-width:0;height:86px;padding:0;border:0;background:none;text-align:left;color:#655e52;font-family:var(--chapters);font-weight:400}
.chapter-pair{display:block;position:absolute;left:0;top:0;white-space:nowrap;font-size:46px;line-height:1.1}
.chapter-number{display:inline-block;vertical-align:baseline;width:var(--number-width);font-family:inherit;font-size:var(--number-size);font-weight:400;font-variant-numeric:normal;letter-spacing:-1px;line-height:1}
.chapter-label{display:inline-block;vertical-align:baseline;margin-left:10px;font-family:inherit;font-size:22px;font-weight:400;line-height:1.25;letter-spacing:.4px}
.buyer-chapters .chapter-label{transform:translate(calc((var(--number-width) + 10px) * (var(--wide-nav) - 1)),calc(32px * (1 - var(--wide-nav))))}
.chapter-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#d9ceba}
.chapter-track i{display:block;height:100%;background:var(--red);transform-origin:left;transform:scaleX(0)}
.buyer-chapters button{height:calc(86px - 24px * var(--wide-nav))}
.buyer-copy{top:36%;left:54%;width:46%;transform:none}
.wide-copy{position:absolute;left:0;right:0;opacity:0;pointer-events:none;text-align:center}
.wide-copy .eyebrow{display:none}.wide-copy h2{font:400 clamp(29px,3vw,44px)/1.3 var(--serif);letter-spacing:-.5px}.wide-copy h2 span{display:inline-block}.wide-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}
.merchant-stage.wrap{position:sticky;top:0;width:min(1360px,90vw);height:100svh;min-height:650px;padding:20px 0 34px;display:flex;flex-direction:column;gap:18px;align-items:center}
.merchant-top{width:100%;display:flex;flex-direction:column;gap:14px;align-items:center}
.merchant-heading{width:100%;display:flex;align-items:end;justify-content:space-between;gap:32px}
.merchant-heading .eyebrow{margin-bottom:10px}.merchant-heading h2{font:400 clamp(30px,3.1vw,44px)/1.3 var(--serif);letter-spacing:-.7px}.merchant-heading h2 span{display:inline-block;margin-left:6px}.merchant-heading>p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 3px;flex-shrink:0}
.merchant-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:min(760px,100%)}.merchant-chapters button{height:61px}.merchant-chapters .chapter-label{font-size:22px}
#merchant-mount{position:relative;flex-shrink:0;margin:0 auto;min-height:0}.merchant-demo{transform-origin:top left}.merchant-pause{position:absolute;right:0;bottom:8px;margin:0}.merchant-demo .md-nav{align-items:stretch}
@media(max-width:1099px){
 .wide-copy{text-align:center}.wide-copy h2{font-size:30px}.wide-copy p{margin-top:6px}
 .merchant-top{gap:14px}.merchant-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.merchant-heading h2{font-size:30px}.merchant-heading>p{max-width:230px;margin:0}.merchant-chapters{gap:24px}.merchant-chapters button{height:54px}.merchant-chapters .chapter-label{font-size:22px}
}
@media(max-width:800px){
 .buyer-navigation .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:10px;text-align:center}
 .chapter-nav{gap:10px}.chapter-nav button{--number-size:calc(23px + 11px * var(--chapter-weight));height:66px}.chapter-pair{font-size:34px}.chapter-label{font-size:16px;margin-left:6px}.buyer-chapters .chapter-label{transform:translate(calc((var(--number-width) + 6px) * (var(--wide-nav) - 1)),calc(26px * (1 - var(--wide-nav))))}.buyer-chapters button{height:calc(66px - 20px * var(--wide-nav))}
 .buyer-copy{top:21%;left:0;width:100%}.wide-copy h2{font-size:27px}.wide-copy h2 span{display:block}.wide-copy p{font-size:12px;max-width:280px;margin:7px auto 0}
 .merchant-stage.wrap{min-height:620px;padding-top:20px;gap:16px}.merchant-top{gap:16px}.merchant-heading{display:block;text-align:center}.merchant-heading .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:8px}.merchant-heading h2{font-size:25px}.merchant-heading h2 span{margin-left:0}.merchant-heading>p{font-size:12px;max-width:none;margin-top:6px}.merchant-heading>p br{display:none}.merchant-chapters{gap:12px}.merchant-chapters button{height:46px}.merchant-chapters .chapter-label{font-size:15px}.merchant-pause{bottom:6px}
}

@media(max-width:360px){
 .chapter-nav button{--number-size:calc(20px + 8px * var(--chapter-weight))}.chapter-pair{font-size:28px}.chapter-label,.merchant-chapters .chapter-label{font-size:13px;letter-spacing:0;margin-left:4px}.buyer-chapters .chapter-label{transform:translate(calc((var(--number-width) + 4px) * (var(--wide-nav) - 1)),calc(26px * (1 - var(--wide-nav))))}
}
