:root{--entrance-duration:600ms;--entrance-ease:ease-out;--micro-duration:150ms;--motion-ui:cubic-bezier(.4,0,.2,1)}
#main{overflow-x:clip}
.step-number-svg{width:48px;height:48px;flex:none}.step-drawing{width:112px;height:112px;justify-self:end}.step{grid-template-columns:48px 1fr 112px;--accent:#ff7915}
.sector .wallet-card,.sector .apple-pass{transform:none}
.activity-section{background:#f5f1e7}.activity-feed{border:1px solid #918c85;border-radius:18px;background:#fff;box-shadow:0 3px #504940;overflow:hidden}.activity-caption{padding:14px 20px;border-bottom:1px solid #e8e4df;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.activity-caption i{width:10px;height:10px;background:#78dca4;border-radius:50%;animation:activity-pulse 2s ease-in-out infinite}.activity-rows{padding:16px 22px}.activity-row{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px}.activity-row>span{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex:none;background:var(--avatar-color);color:white;font-weight:600}.activity-row time{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.activity-row b{font-weight:600}.activity-section h2{font-size:38px;line-height:1.15}.activity-section p{margin-top:20px}@keyframes activity-pulse{50%{opacity:.45}}
@media(max-width:600px){.step{grid-template-columns:40px 1fr;gap:18px}.step-number-svg{width:38px;height:38px}.step-drawing{display:none}.activity-section h2{font-size:30px}.activity-row{font-size:12px;gap:8px}.activity-rows{padding:12px}.activity-row time{font-size:10px}}
@media(prefers-reduced-motion:reduce){.activity-caption i{animation:none}}
.motion-reveal{transition:opacity var(--entrance-duration) var(--entrance-ease) var(--motion-delay,0ms),transform var(--entrance-duration) var(--entrance-ease) var(--motion-delay,0ms)}
.motion-pending{opacity:0;transform:translateY(20px)}.motion-pending[data-motion-direction=left]{transform:translateX(-30px)}.motion-pending[data-motion-direction=right]{transform:translateX(30px)}
.floating-card{animation:hero-spread 700ms cubic-bezier(.3,1.4,.4,1) both;animation-delay:var(--delay)}
.floating-card:nth-child(1),.floating-card:nth-child(7){--delay:270ms}.floating-card:nth-child(2),.floating-card:nth-child(6){--delay:180ms}.floating-card:nth-child(3),.floating-card:nth-child(5){--delay:90ms}.floating-card:nth-child(4){--delay:0ms}
@keyframes hero-spread{from{opacity:0;translate:0 50px;filter:blur(2px) drop-shadow(0 9px 12px #0002)}to{opacity:1;translate:0 0;filter:blur(0) drop-shadow(0 9px 12px #0002)}}
.site-header{transition:background 300ms var(--motion-ui),box-shadow 300ms var(--motion-ui),backdrop-filter 300ms var(--motion-ui)}
.btn{transition:transform 150ms var(--motion-ui),background 150ms var(--motion-ui),box-shadow 200ms}.btn .button-arrow{display:inline-block;transition:translate 150ms var(--motion-ui)}.btn:hover .button-arrow{translate:4px 0}.btn:active{transform:scale(.98)}
.brand-mark{transition:transform 150ms var(--motion-ui)}.brand:hover .brand-mark{transform:rotate(12deg)}
.nav-button svg{transition:rotate 200ms var(--motion-ui)}.nav-item.open .nav-button svg{rotate:180deg}
.sector{position:relative;isolation:isolate;transition:opacity 500ms var(--motion-ui),scale 500ms var(--motion-ui);opacity:.55;scale:.97}.sector:before{content:"";position:absolute;z-index:-1;inset:-14% -8%;border-radius:42px;background:radial-gradient(circle at 30% 48%,color-mix(in srgb,var(--sector-ink) 42%,transparent) 0 11%,color-mix(in srgb,var(--sector) 30%,transparent) 34%,transparent 69%);filter:blur(22px);opacity:0;scale:.82;transition:opacity 650ms var(--motion-ui),scale 650ms var(--motion-ui);pointer-events:none}.sector.slide-active{opacity:1;scale:1}.sector.slide-active:before{opacity:.95;scale:1;animation:sector-spotlight 4.8s ease-in-out infinite}.sector .wallet-card,.sector .apple-pass{rotate:-3deg;transition:rotate 500ms var(--motion-ui),transform 500ms var(--motion-ui),filter 500ms var(--motion-ui)}.sector.slide-active .wallet-card,.sector.slide-active .apple-pass{filter:drop-shadow(0 20px 30px color-mix(in srgb,var(--sector) 30%,transparent))}.sector:hover .wallet-card,.sector:hover .apple-pass{rotate:0deg;transform:translateY(-4px)}
@keyframes sector-spotlight{0%,100%{transform:translate3d(-2%,0,0)}50%{transform:translate3d(5%,-2%,0)}}
.style-gallery .carousel-track>article{opacity:.65;scale:.95;transition:opacity 500ms var(--motion-ui),scale 500ms var(--motion-ui)}.style-gallery .carousel-track>article.slide-active{opacity:1;scale:1}.carousel-track{scroll-behavior:smooth}.carousel-track:focus-visible{outline-offset:-4px}
.demo-prompt>span{display:inline-block;animation:demo-arrow 1s ease infinite}@keyframes demo-arrow{0%,100%{translate:0 -5px}50%{translate:0 0}}
.icon-marquee-row{animation-duration:70s}.icon-marquee-row:nth-child(2){animation-duration:85s}
.design-pass{transition:background-color 300ms var(--motion-ui),color 300ms var(--motion-ui),box-shadow 400ms}.stamp-circle,.pass-logo,.design-themes button,.design-icon-options button{transition:background-color 300ms var(--motion-ui),color 300ms var(--motion-ui),opacity 300ms,transform 300ms}.own-stamp-grid img{transition:filter 300ms,opacity 300ms,transform 300ms}.card-design-page .media-illustration .wallet-card{transition:transform 400ms cubic-bezier(.2,.8,.2,1),box-shadow 400ms}.card-design-page .media-illustration:hover .wallet-card:nth-child(3){transform:perspective(900px) rotateY(-5deg) rotateX(3deg);box-shadow:0 24px 45px #0002}
.feature-hero{position:relative;isolation:isolate}.feature-hero:before{content:'';position:absolute;z-index:-1;inset:5% 0 0 45%;border-radius:50%;background:radial-gradient(ellipse,#ff79151c,transparent 65%);animation:feature-halo 6s ease-in-out infinite;pointer-events:none}@keyframes feature-halo{50%{transform:translateY(-12px) rotate(3deg)}}
.centered-feature .split{display:block;min-height:0}.centered-feature{text-align:center;min-height:0;padding:70px 0}.centered-feature .split>div{max-width:850px;margin:auto}.centered-feature .split>div:last-child:not(:first-child){display:none}.centered-feature .hero-description{margin:28px auto;max-width:650px}.centered-feature .actions,.centered-feature .wallets{justify-content:center}
.scanner-demo{background:#080808;padding:50px 14px 18px}.scan-header{display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:11px;height:38px}.recording{color:#aaa;font-size:9px}.recording:first-letter{color:#e66}.scan-window{position:absolute;left:18%;right:18%;top:38%;aspect-ratio:1;display:grid;place-items:center}.scan-window:before,.scan-window:after,.scan-corner:before,.scan-corner:after{content:'';position:absolute;width:36px;height:36px;border-color:#ddd;border-style:solid;pointer-events:none}.scan-window:before{left:0;top:0;border-width:2px 0 0 2px}.scan-window:after{right:0;top:0;border-width:2px 2px 0 0}.scan-corner:before{left:0;bottom:0;border-width:0 0 2px 2px}.scan-corner:after{right:0;bottom:0;border-width:0 2px 2px 0}.scan-window>img{width:106px;height:106px;padding:8px;background:white;border-radius:12px;animation:scan-code-cycle 6s ease infinite}.scan-light{position:absolute;height:2px;left:8%;right:8%;background:linear-gradient(90deg,transparent,#ff7915,transparent);box-shadow:0 0 10px #ff791555;animation:scan-line-cycle 6s ease-in-out infinite}.scan-result{position:absolute;left:12px;right:12px;bottom:60px;background:#fff;border-radius:17px;padding:14px 10px;display:flex;align-items:center;gap:8px;text-align:left;color:#222;font-size:12px;animation:scan-result-cycle 6s ease infinite}.scan-result>span{background:#ff7915;color:white;border-radius:12px;padding:12px 8px}.scan-result small{display:block;color:#888}.scan-result>b{font-size:10px;color:#5a9563;margin-left:auto}.scan-instruction{position:absolute;bottom:22px;left:5%;right:5%;font-size:10px;color:#888}.scan-instruction span{display:block;animation:scan-code-cycle 6s ease infinite}.scan-instruction strong{position:absolute;inset:0;color:#87c292;animation:scan-result-cycle 6s ease infinite}@keyframes scan-code-cycle{0%,10%{opacity:0;scale:.95}20%,47%{opacity:1;scale:1}55%,100%{opacity:0;scale:.95}}@keyframes scan-line-cycle{0%,12%{top:5%;opacity:0}20%{opacity:1}48%{top:95%;opacity:1}55%,100%{top:95%;opacity:0}}@keyframes scan-result-cycle{0%,48%{opacity:0;translate:0 18px}58%,85%{opacity:1;translate:0 0}96%,100%{opacity:0;translate:0 8px}}
.notification-scenarios>div:first-child{display:flex;flex-direction:column;gap:14px}.notification-scenarios [data-notice]{text-align:left;padding:24px 28px;border:1px solid transparent;border-radius:20px;transition:background 250ms,box-shadow 250ms}.notification-scenarios [data-notice][aria-pressed=true]{background:#fff;box-shadow:0 2px 3px #0001;border-color:#eee}.notification-scenarios [data-notice] strong{font-size:14px}.notification-scenarios [data-notice] strong:before{content:'•';margin-right:12px;color:#ddd}.notification-scenarios [data-notice][aria-pressed=true] strong:before{color:#ff7915}.notification-scenarios [data-notice] p{margin-top:8px;font-size:14px;line-height:1.6}.notice-phone{background:#f4f3f8;color:#222;padding:10px 12px;height:585px}.notice-phone>small{display:block;text-align:left;font-size:10px;margin:5px 8px 25px}.notice-wallet{background:#202020;color:white;border-radius:15px;height:315px;padding:12px 10px}.notice-wallet>div:first-child{display:flex;justify-content:space-between;text-align:left;font-size:11px;gap:6px}.notice-wallet>div>span{font-size:8px;text-align:right}.notice-wallet strong{display:block;font-size:13px}.notice-stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:25px 12px}.notice-stamps span{width:35px;height:35px;background:#373737;border:1px solid #555;border-radius:50%;display:grid;place-items:center;color:transparent;transition:background 300ms,color 300ms}.notice-stamps .filled{background:#ff7915;border-color:#ff7915;color:white}.notice-message{background:#fffc;border-radius:20px;margin-top:12px;padding:13px;text-align:left;box-shadow:0 5px 12px #0001;font-size:11px}.notice-message>small{display:block;color:#737985;font-size:9px}.notice-message>strong{display:block;margin:2px 0}.notice-message p{font-size:11px;line-height:1.4;margin:0}
.analytics-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.analytics-columns>div{display:flex;flex-direction:column;gap:24px;min-width:0}.metric-card{padding:24px;min-width:0}.metric-heading{display:flex;justify-content:space-between;gap:8px;color:#777f87;font-size:14px;font-weight:600;margin-bottom:26px}.metric-heading>span{background:#edf3ee;color:#86a08e;border-radius:12px;padding:2px 10px;font-size:11px}.metric-card p{font-size:12px;margin:10px 0 0}.metric-value{font-size:48px;line-height:1.2;font-weight:800}.danger{color:#f35459}.positive{color:#17a467}.metric-line{width:100%;height:auto;max-height:150px;margin-bottom:16px;overflow:visible}.chart-grid{stroke:#ddd;stroke-dasharray:5 7;fill:none}.chart-area{fill:color-mix(in srgb,var(--chart-color) 7%,transparent);opacity:0;transition:opacity 800ms}.chart-stroke{fill:none;stroke:var(--chart-color);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1100ms ease-out}.chart-visible .chart-stroke{stroke-dashoffset:0}.chart-visible .chart-area{opacity:1}.metric-ring{width:112px;height:112px;position:relative;margin:0 auto}.metric-ring svg{width:100%;height:100%;fill:none;stroke:#e4e2dc;stroke-width:8;transform:rotate(-90deg)}.metric-ring-fill{stroke:var(--chart-color);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1100ms ease-out}.chart-visible .metric-ring-fill{stroke-dashoffset:calc(100 - var(--chart-progress))}.metric-ring strong{position:absolute;inset:0;display:grid;place-items:center;font-size:24px}.metric-ring+p{text-align:center}.segment-row{display:grid;grid-template-columns:66px 1fr 30px;gap:10px;align-items:center;font-size:11px;margin-top:10px}.segment-row>span{text-align:right;color:#777}.segment-row>div{height:24px;background:#e8e7e2;border-radius:9px;overflow:hidden}.segment-row i{display:block;height:100%;width:var(--bar-width);background:var(--bar-color);border-radius:9px;transform:scaleX(0);transform-origin:left;transition:transform 900ms ease-out}.chart-visible .segment-row i{transform:scaleX(1)}.heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.heatmap i{aspect-ratio:1;border-radius:9px;background:#ff7915;opacity:0;transition:opacity 600ms ease var(--cell-delay)}.chart-visible .heatmap i{opacity:var(--heat)}.chart-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;color:#858995;font-size:12px;margin-top:12px}.day-bars{height:85px;display:flex;align-items:flex-end;gap:7px}.day-bars i{flex:1;height:var(--bar-height);background:var(--bar-color);border-radius:7px;transform:scaleY(0);transform-origin:bottom;transition:transform 900ms ease}.chart-visible .day-bars i{transform:scaleY(1)}.return-bars{display:flex;flex-direction:column;gap:8px;margin-top:18px}.return-bars i{height:20px;border-radius:12px;background:#ffcda8;transform-origin:left;transform:scaleX(0);transition:transform 1s ease}.return-bars i:last-child{width:78%;background:#91a88b}.chart-visible .return-bars i{transform:scaleX(1)}
.motion-offscreen *,.motion-document-hidden *{animation-play-state:paused!important}
@media(max-width:900px){.analytics-columns{grid-template-columns:1fr}.analytics-columns>div{display:contents}.metric-card{max-width:620px;width:100%;margin:auto}.centered-feature{padding:45px 0}.notification-scenarios{grid-template-columns:minmax(0,1fr)}.notification-scenarios .phone{grid-row:1}.scanner-demo{max-width:100%}}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1;transform:none}.motion-reveal{transition:none}.floating-card,.sector.slide-active:before{animation:none}.carousel-track{scroll-behavior:auto}.scanner-demo .scan-result,.scan-instruction strong{opacity:0}.scanner-demo .scan-light{display:none}.scanner-demo .scan-window>img,.scan-instruction span{opacity:1}.chart-stroke{stroke-dashoffset:0}.chart-area{opacity:1}.metric-ring-fill{stroke-dashoffset:calc(100 - var(--chart-progress))}.segment-row i,.day-bars i,.return-bars i{transform:none}.heatmap i{opacity:var(--heat)}}
