@font-face{font-family:Fraunces;src:url('assets/fraunces.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--red:#b3261e;--paper:#f7f5f2;--ink:#1a1714;--muted:#70685f;--line:#e5dfd8;--blue:#dce8f7;--amber:#f4d697;--green:#e1eadf;--serif:Fraunces,Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}img,video{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:#f4d697;color:var(--ink)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.skip{position:fixed;top:-60px;z-index:100;background:white;padding:10px}.skip:focus{top:0}.header{height:88px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.nav{height:100%;display:flex;align-items:center;gap:36px}.wordmark{font:800 42px/1 var(--sans);letter-spacing:-3px}.wordmark span{color:var(--red)}.nav-links{display:flex;gap:30px;margin:auto;font-size:14px;font-weight:700}.nav-actions{display:flex;gap:24px;align-items:center}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;background:var(--red);color:white;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:700;white-space:nowrap}.button.light{background:white;color:var(--red)}.button.dark{background:var(--ink);color:white}.button.outline{background:transparent;border-color:currentColor;color:inherit}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:6px}.menu-toggle{border:0;background:none;display:flex;align-items:center;gap:11px;padding:10px 0;font-size:13px;font-weight:700}.menu-lines{width:22px;display:grid;gap:6px}.menu-lines i{height:1.5px;background:var(--ink);display:block}.hero{background:var(--red);color:white;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.02fr 1fr;gap:65px;align-items:center;min-height:660px;padding-top:55px;padding-bottom:55px}.kicker{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin:0 0 24px}.hero h1{font:600 clamp(54px,5.5vw,84px)/1.02 var(--serif);letter-spacing:-.055em;margin:0 0 27px}.hero h1 em{font:inherit;color:#f4d697}.hero-copy>p:not(.kicker){font-size:17px;max-width:420px;color:#f7e4e1}.actions{display:flex;gap:26px;align-items:center;margin-top:30px;flex-wrap:wrap}.hero-note{font-size:12px!important;margin-top:25px;color:#edc7c3!important}.hero-stage{position:relative;min-width:0;padding:0 0 20px 18px}.photo-frame{margin:0;transform:rotate(2deg);background:var(--blue);color:var(--ink);padding:11px 11px 0;border-radius:4px}.photo-frame>img{width:100%;height:425px;object-fit:cover;object-position:55% 48%}.photo-frame figcaption{font-size:11px;font-weight:700;padding:13px 10px}.hero-phone{position:absolute;width:180px;bottom:-5px;left:-25px;transform:rotate(-7deg)}.phone{background:#24211e;padding:7px;border-radius:29px;box-shadow:0 12px 25px #1a171425;position:relative;border:2px solid #716b64;flex-shrink:0}.phone img{width:100%;height:auto;border-radius:21px}.phone:before{content:'';width:30%;height:9px;background:#24211e;border-radius:0 0 8px 8px;position:absolute;top:7px;left:35%;z-index:2}.photo-tag{position:absolute;right:0;bottom:40px;background:var(--amber);color:var(--ink);font:600 23px/1.1 var(--serif);max-width:180px;padding:20px;transform:rotate(4deg)}.proof-strip{border-bottom:1px solid var(--line);padding:23px 0}.proof-row{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.proof-row strong{font-size:14px}.proof-row .proof-logo{font:600 23px var(--serif)}.proof-row a{text-decoration:underline;text-underline-offset:4px}.section{padding:90px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-head h2,h2{font:600 clamp(36px,3.9vw,56px)/1.07 var(--serif);letter-spacing:-.04em;margin:0}.section-head p{max-width:360px;color:var(--muted);margin:0;font-size:15px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:30px;overflow:auto}.tab{border:0;border-bottom:2px solid transparent;padding:13px 22px;background:none;font-size:13px;font-weight:700;white-space:nowrap}.tab[aria-selected=true]{color:var(--red);border-color:var(--red)}.showcase{background:var(--blue);border-radius:8px;padding:40px 40px 0;display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;overflow:hidden;min-height:450px}.show-copy{align-self:center;padding-bottom:40px}.show-copy h3{font:600 34px/1.1 var(--serif);letter-spacing:-.03em;margin:0 0 18px}.show-copy p{font-size:15px;max-width:310px;margin-bottom:25px}.device-wrap{align-self:end;padding-top:18px;min-width:0}.browser-frame{background:#fff;border:7px solid #282522;border-bottom:0;border-radius:13px 13px 0 0;overflow:hidden;box-shadow:0 10px 30px #1a17141a}.browser-bar{height:25px;background:#ece9e5;display:flex;align-items:center;padding:0 10px;gap:4px}.browser-bar i{width:4px;height:4px;background:#b7b0a8;border-radius:50%}.browser-bar span{font-size:8px;color:#716b64;margin-left:14px}.screen{width:100%;height:335px;object-fit:cover;object-position:top}.show-phone{width:184px;margin:0 auto -20px}.showcase.app-view .device-wrap{display:flex;justify-content:center;gap:35px}.showcase.app-view .show-phone{margin:0 0 -24px}.showcase .example-label{font-size:10px;color:#625e57;margin-top:12px}.features{padding-top:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature{padding:38px 38px 0;background:#e5ebdf;border-radius:8px;overflow:hidden;min-width:0}.feature.voice{background:#1a1714;color:white}.feature .kicker{margin-bottom:16px}.feature h3{font:600 38px/1.09 var(--serif);letter-spacing:-.035em;margin:0 0 16px;max-width:420px}.feature p{font-size:14px;max-width:410px;margin:0 0 22px;color:#615b53}.feature.voice p{color:#c4beb5}.feature-media{margin-top:25px;height:240px;border:6px solid #3c3731;border-bottom:0;border-radius:11px 11px 0 0;overflow:hidden}.feature-media img{width:100%;object-position:top;object-fit:cover}.feature.voice .feature-media img{margin-top:0}.loyalty{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.loyalty-stage{background:var(--amber);border-radius:8px;min-height:460px;display:flex;align-items:center;justify-content:center;gap:22px;padding:35px}.loyalty-stage .phone{width:175px;transform:rotate(-5deg)}.tap-card{background:var(--red);color:white;border-radius:9px;width:160px;padding:27px 20px;transform:rotate(5deg);text-align:center}.nfc-symbol{font:500 45px/1 var(--sans);display:block;margin-bottom:16px;letter-spacing:-10px;padding-right:10px}.tap-card strong{font:600 24px var(--serif);display:block}.tap-card small{font-size:9px;letter-spacing:.1em}.loyalty-copy h2{max-width:440px}.loyalty-copy p{font-size:15px;color:var(--muted);max-width:420px;margin:24px 0}.stamp-demo{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.stamps{display:flex;gap:7px;margin-bottom:14px}.stamp{display:grid;place-items:center;width:36px;height:36px;border:1px solid #b3261e55;border-radius:50%;color:var(--red);font-size:16px}.stamp.filled{background:var(--red);color:white}.stamp-action{border:0;background:none;padding:0;color:var(--red);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.stamp-demo small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.bottom-band{background:#e7ebdf;padding:60px 0}.connections{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.connections h2{font-size:42px}.connections p{font-size:14px;color:var(--muted);max-width:450px}.integration-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b9c2b5;border:1px solid #b9c2b5;border-radius:6px;overflow:hidden}.integration-list span{display:grid;place-items:center;background:#e7ebdf;font-size:15px;font-weight:800;padding:20px 10px}.faq-pricing{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.price{font:600 75px/1.1 var(--serif);letter-spacing:-.055em;margin:20px 0 8px}.price small{font:500 14px var(--sans);letter-spacing:0}.price-copy{font-size:14px;color:var(--muted);max-width:340px}.fineprint{font-size:10px!important;color:var(--muted);max-width:360px;margin-top:16px}.faq h3{font:600 28px var(--serif);margin:0 0 20px}details{border-top:1px solid var(--line);padding:17px 0}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:13px;font-weight:700;cursor:pointer}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-weight:400;font-size:19px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);margin:13px 28px 0 0}.closing{background:var(--red);color:white;padding:65px 0}.closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{font-size:56px}.closing p{color:#edc7c3;font-size:14px;max-width:330px}.footer{padding:55px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer .wordmark{display:block;margin-bottom:18px}.footer p{font-size:12px;color:var(--muted);max-width:235px}.footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:5px 0 15px}.footer nav{display:grid;gap:8px;font-size:12px}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom div{display:flex;gap:22px}.menu-dialog{border:0;background:var(--paper);color:var(--ink);padding:0;width:100vw;height:100dvh;max-height:none;max-width:none;margin:0}.menu-dialog::backdrop{background:var(--paper)}.menu-top{display:flex;align-items:center;justify-content:space-between;height:88px;border-bottom:1px solid var(--line)}.close-menu{border:0;background:none;font-size:14px;padding:10px}.menu-body{padding-top:60px;padding-bottom:40px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px}.menu-lead{font:600 48px/1.08 var(--serif);letter-spacing:-.04em;max-width:330px;margin:0 0 28px}.menu-body h3{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px}.menu-body nav{display:grid;gap:12px}.menu-products a{font:600 26px/1.3 var(--serif);letter-spacing:-.02em}.menu-secondary a{font-size:16px}.menu-body .button{margin-top:30px}.menu-foot{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;font-size:12px}.menu-foot a{text-decoration:underline}.reveal{opacity:1;transform:none}.motion .reveal.waiting{opacity:0;transform:translateY(18px)}.motion .reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.product-hero{padding:75px 0 65px;background:var(--red);color:white}.product-hero h1{font:600 clamp(48px,5vw,76px)/1.03 var(--serif);letter-spacing:-.045em;max-width:800px;margin:0 0 25px}.product-hero p{max-width:570px;color:#f4dfdc;font-size:17px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.product-detail>img{max-height:620px;width:100%;object-fit:contain}.product-points{display:grid;gap:28px}.product-points h3{font:600 27px var(--serif);margin:0 0 8px}.product-points p{font-size:14px;color:var(--muted);margin:0}.contact-form{display:grid;gap:20px;max-width:630px}.contact-form label{font-size:13px;font-weight:700;display:grid;gap:7px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px;border:1px solid var(--line);background:white;border-radius:4px;font-size:15px}.contact-form textarea{min-height:110px}.contact-form .button{justify-self:start}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-layout p{color:var(--muted)}.contact-success{padding:20px;border:1px solid var(--line);background:var(--green)}
@media(min-width:1500px){.hero-layout{min-height:710px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.nav-links{gap:20px}.nav-actions{gap:15px}.nav-actions>.text-link{display:none}.hero-layout{gap:45px;min-height:625px}.hero-phone{width:155px;left:-15px}.photo-frame>img{height:390px}.photo-tag{font-size:20px;right:-4px;max-width:150px;padding:15px}.showcase{gap:25px;padding:30px 30px 0}.loyalty{gap:45px}.loyalty-stage{padding:25px;gap:12px}.loyalty-stage .phone{width:155px}.tap-card{width:135px;padding:22px 12px}.faq-pricing{gap:60px}.menu-body{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header,.menu-top{height:72px}.nav{gap:14px;justify-content:space-between}.wordmark{font-size:35px;letter-spacing:-2.5px}.nav-links{display:none}.nav-actions{gap:17px}.nav-actions .button{min-height:40px;font-size:11px;padding:9px 13px}.menu-toggle{font-size:0}.hero-layout{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:48px;min-height:0}.hero h1{font-size:58px;max-width:440px;letter-spacing:-.05em;margin-bottom:20px}.hero-copy>p:not(.kicker){font-size:15px;max-width:360px}.kicker{font-size:10px;margin-bottom:20px}.actions{gap:22px;margin-top:25px}.button{min-height:48px;padding:12px 19px;font-size:12px;gap:25px}.text-link{font-size:12px}.hero-note{margin-top:18px;font-size:10px!important}.hero-stage{margin:12px 0 12px;padding:0 0 10px 30px}.photo-frame>img{height:325px;object-position:50% 50%}.photo-frame figcaption{font-size:9px;padding:12px 9px}.hero-phone{width:138px;left:0;bottom:-12px}.photo-tag{right:0;bottom:35px;max-width:138px;font-size:21px;padding:14px}.proof-strip{padding:20px 0}.proof-row{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:10px}.proof-row strong{font-size:11px}.proof-row .proof-logo{font-size:20px}.proof-row .proof-extra{display:none}.section{padding:58px 0}.section-head{display:block;margin-bottom:25px}.section-head h2,h2{font-size:39px;letter-spacing:-.045em}.section-head p{font-size:13px;margin-top:18px;max-width:330px}.tabs{gap:0;margin-bottom:20px}.tab{padding:12px 15px;font-size:11px}.showcase{grid-template-columns:1fr;padding:27px 24px 0;gap:0;min-height:0}.show-copy{padding-bottom:22px}.show-copy h3{font-size:30px;margin-bottom:12px}.show-copy p{font-size:13px;margin-bottom:18px;max-width:340px}.device-wrap{padding-top:5px;width:100%}.screen{height:260px}.show-phone{width:172px}.showcase.app-view .device-wrap{gap:15px}.showcase.app-view .show-phone{width:140px}.showcase .example-label{font-size:9px}.features{padding-top:0}.feature-grid{grid-template-columns:1fr;gap:18px}.feature{padding:27px 25px 0}.feature h3{font-size:34px}.feature p{font-size:13px}.feature-media{height:220px}.loyalty{grid-template-columns:1fr;gap:30px}.loyalty-stage{min-height:380px;padding:28px;order:2;gap:18px}.loyalty-stage .phone{width:145px}.tap-card{width:130px}.loyalty-copy p{font-size:13px;margin:18px 0}.stamp-demo{padding-top:20px;margin-top:20px}.stamp{width:32px;height:32px}.bottom-band{padding:45px 0}.connections{grid-template-columns:1fr;gap:25px}.connections h2{font-size:36px}.connections p{font-size:13px}.integration-list span{padding:18px 7px;font-size:13px}.faq-pricing{grid-template-columns:1fr;gap:40px}.price{font-size:67px}.price-copy{font-size:13px;max-width:100%}.faq h3{font-size:27px}.closing{padding:45px 0}.closing .wrap{display:block}.closing h2{font-size:43px}.closing p{font-size:13px;margin-top:24px}.closing .button{margin-top:8px}.footer{padding-top:38px}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-top>div:first-child{grid-column:1/-1}.footer p{max-width:280px}.footer-bottom{display:block;margin-top:30px;font-size:9px}.footer-bottom div{margin-top:16px;gap:16px}.menu-body{grid-template-columns:1fr 1fr;gap:35px 25px;padding-top:30px}.menu-body>div:first-child{grid-column:1/-1;display:none}.menu-products a{font-size:22px}.menu-secondary a{font-size:14px}.menu-body h3{font-size:10px}.menu-foot{margin-top:20px;display:grid;gap:12px}.product-hero{padding:45px 0}.product-hero h1{font-size:47px}.product-hero p{font-size:14px}.product-detail{grid-template-columns:1fr;gap:35px}.product-detail>img{max-height:460px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-form label{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion .reveal.waiting{opacity:1;transform:none}.motion .reveal{transition:none}}
.phone.hero-phone{position:absolute}.film-button{border:0;background:transparent;padding:0;color:inherit;font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.photo-frame figcaption{display:flex;justify-content:space-between;gap:15px}.film-dialog{width:min(900px,94vw);border:0;border-radius:7px;background:var(--ink);color:white;padding:20px}.film-dialog::backdrop{background:#000b}.film-dialog video{width:100%;max-height:70vh}.film-dialog .film-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding-bottom:15px}.film-dialog button{border:0;background:none;color:white}.film-dialog p{font-size:11px;margin:12px 0 0}.product-detail>.fineprint{grid-column:1/-1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.photo-frame figcaption>span{max-width:145px}.film-button{font-size:9px;white-space:nowrap}}
.hero-stage figcaption{justify-content:flex-end}.hero-stage figcaption>span{display:none}.hero-stage .photo-tag{bottom:75px}@media(max-width:760px){.hero h1{font-size:46px}.hero .actions{gap:18px}.hero .actions .button{padding:12px 17px}.hero .actions .text-link{font-size:11px}.hero-stage .photo-tag{font-size:18px;max-width:128px;bottom:64px}.hero-layout{padding-bottom:40px}.hero-copy .hero-note{max-width:320px}}
.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}@media(max-width:360px){.wrap{width:calc(100% - 32px)}.nav-actions{gap:12px}.hero h1{font-size:40px}.hero .actions{gap:13px}.hero .actions .button{font-size:11px;padding:11px 12px;gap:15px}.hero .actions .text-link{font-size:10px}.loyalty-stage{padding:24px 15px;gap:12px}.loyalty-stage .phone{width:130px}.tap-card{width:115px}.stamp{width:30px;height:30px}}
