/* Motion follows physical card stacks and reversible scroll progress. */
.features{padding-bottom:85px}.carousel-shell{position:relative;margin:0 auto;perspective:1500px;overflow:visible;padding:5px 0 0}
.feature-carousel{position:relative;display:block;overflow:visible;scroll-snap-type:none;padding:0;height:470px;max-width:1280px;margin:0 auto;touch-action:pan-y;outline-offset:-3px;perspective:1600px;user-select:none;-webkit-user-select:none}
.feature-card{position:absolute;left:50%;top:0;width:clamp(380px,43vw,540px);height:440px;min-height:0;padding:40px 43px;border-radius:32px;background:linear-gradient(155deg,#4d484f,#333235);color:#fff;box-shadow:0 10px 24px #0000000a;transform-origin:center 70%;transform-style:preserve-3d;will-change:transform;transition:transform 780ms cubic-bezier(.2,1.16,.32,1),filter 650ms ease,background .5s,box-shadow .5s;cursor:pointer;overflow:hidden;backface-visibility:hidden}
.feature-card.active{background:linear-gradient(150deg,#37270f 0%,#13100c 42%,#030303 85%);box-shadow:0 25px 45px #00000016;cursor:grab}
.feature-card:hover{background:linear-gradient(150deg,#423015,#100d09 55%,#030303)}
.feature-card:not(.active){filter:saturate(.25);box-shadow:none}.feature-card:not(.active):after{content:'';position:absolute;inset:0;background:#ffffff0c;pointer-events:none}
.feature-card .feature-art{justify-content:flex-start;align-items:flex-start;height:200px;margin:0 0 25px;pointer-events:none}
.feature-art>img{width:150px;height:150px;filter:drop-shadow(0 17px 15px #0003);transform:rotate(-9deg);transition:transform .65s var(--ease)}
.feature-card:hover .feature-art>img{transform:rotate(-4deg) translateY(-5px)}
.feature-card h3{font-size:30px;line-height:1.1;letter-spacing:-1px;margin-bottom:16px;max-width:390px;font-weight:600;pointer-events:none}
.feature-card p{font-size:17px;line-height:1.6;color:#b2abb7;max-width:380px;pointer-events:none}
.feature-number{font-size:9px;top:25px;right:28px;color:#ffffff35}
.feature-art .big-symbol{font-size:105px;color:#f3b12f;text-shadow:2px 3px #c58a16,5px 7px #8b5a10,0 16px 25px #0003;line-height:1.3;transform:rotate(-14deg)}
.feature-art .symbol-dots{left:0;right:auto;bottom:12px;background:#ffffff0c;border:1px solid #ffffff10;color:#bfab8a;font-size:9px;box-shadow:none}
.carousel-controls{position:relative;height:35px;gap:0;margin-top:5px}.carousel-controls>.circle-button{position:absolute;top:-260px;width:45px;height:45px;background:#aa791a;border:0;color:white;z-index:35;box-shadow:0 5px 20px #0001}
#feature-prev{left:max(24px,calc(50% - 610px))}#feature-next{right:max(24px,calc(50% - 610px))}
.carousel-controls>.circle-button:hover{background:#c38d20}.circle-button:active{transform:scale(.83)}.carousel-dots{gap:8px}.carousel-dots button{width:6px;height:6px}.carousel-dots button.active{width:28px;background:#b07e21}.carousel-caption{margin-top:9px;font-size:9px}
.feature-carousel.is-dragging .feature-card{transition:none;cursor:grabbing}.feature-carousel.is-dragging{cursor:grabbing}.feature-carousel:focus-visible{border-radius:30px}

/* The original dashboard image is split into a real hinged lid and base. */
.dashboard-stage{max-width:1050px;margin-top:10px;height:clamp(390px,44vw,540px);position:relative;perspective:1600px;isolation:isolate;--lid-angle:-87deg;--lid-shade:.5}
.dashboard-halo{inset:8% 10% -6%;background:radial-gradient(ellipse,#ffd77c33,transparent 65%);opacity:var(--halo,.2);transition:none}
.laptop-rig{position:absolute;width:49.5%;left:50%;bottom:26px;translate:-50% 0;aspect-ratio:511/354;perspective:1300px;transform-style:preserve-3d;z-index:3}
.laptop-lid{position:absolute;inset:0;transform-origin:50% 100%;transform:rotateX(var(--lid-angle));transform-style:preserve-3d;will-change:transform;border-radius:18px 18px 0 0;box-shadow:0 -2px 0 2px #4b4c4d;backface-visibility:hidden;isolation:isolate;background:#151515}
.lid-front{position:relative;display:block;width:100%;height:100%;border-radius:18px 18px 0 0;backface-visibility:hidden}
.lid-reflection{position:absolute;inset:0;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#fff5,#121212bb 90%);opacity:var(--lid-shade);pointer-events:none}
.laptop-base{position:absolute;max-width:none;width:129.12%;height:auto;left:-14.56%;bottom:-4.8%;z-index:4;filter:drop-shadow(0 3px 2px #0002)}
.laptop-ground{position:absolute;left:-11%;right:-11%;bottom:-16px;height:17px;background:#0003;filter:blur(12px);border-radius:50%;transform:scaleX(var(--halo,.8));opacity:.5}
.flow-label{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(17px) scale(.84);transition:opacity .2s ease,transform .3s ease;pointer-events:none;white-space:nowrap}
.flow-label b{font-size:13px;font-weight:500;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e9a10c;color:white;box-shadow:0 4px 10px #b4781420}
.flow-label>span{font-size:13px;font-weight:450;background:#f4a70b;color:#fff;border-radius:30px;padding:15px 18px;box-shadow:0 5px 16px #c28d1010}
.flow-label-one{left:0;top:65%}.flow-label-two{left:50%;top:3%;transform:translate(-50%,17px) scale(.84);flex-direction:column;gap:8px}.flow-label-three{right:0;top:65%;flex-direction:row-reverse}
.dashboard-stage.is-open .flow-label{opacity:1;transform:translateY(0) scale(1);transition:opacity .28s ease,transform .58s cubic-bezier(.16,1.4,.35,1)}
.dashboard-stage.is-open .flow-label-one{transition-delay:.04s}.dashboard-stage.is-open .flow-label-two{transition-delay:.19s;transform:translate(-50%,0) scale(1)}.dashboard-stage.is-open .flow-label-three{transition-delay:.38s}
.workflow-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}
.workflow-arrow{stroke:#18151b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .22s,opacity .15s}
.dashboard-stage.is-open .workflow-arrow{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .45s var(--ease),opacity .15s}.dashboard-stage.is-open .arrow-one{transition-delay:.14s}.dashboard-stage.is-open .arrow-two{transition-delay:.34s}
.platform-pillars{margin-top:36px;padding-bottom:8px}.platform-pillars .pillar{will-change:opacity,transform;transition:none}

/* One pinned scene: type, settle into the corner, then flick through the deck. */
.how .how-stage{position:relative}.how .statement{margin-inline:0;width:100%}.brand-coin{width:70px;height:70px;position:relative;flex-shrink:0;perspective:600px;transform-style:preserve-3d}
.coin-edge{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#b87308 0deg 3deg,#efb440 3deg 6deg);transform:translateZ(-5px);box-shadow:3px 5px 0 #8d5b12,0 12px 22px #a97c1627}
.coin-face{position:absolute;inset:4px;border:2px solid #ffc85d;border-radius:50%;background:radial-gradient(at 32% 24%,#ffe3a2,#eaaa28 60%,#9c6415);display:grid;place-items:center;box-shadow:inset 0 0 0 3px #d18c1c,inset 1px 1px 8px #ffefba,0 0 0 1px #784714}
.coin-face{backface-visibility:hidden;transform:translateZ(1px)}.coin-back{transform:rotateY(180deg) translateZ(6px)}
.coin-face img{width:49px;height:49px;object-fit:contain;margin:0!important;transform:none!important;filter:brightness(.65) drop-shadow(1px 1px 0 #ffdb88)}
.statement h2{position:relative}.typing-caret{display:none}
.motion-enabled .how{height:calc(var(--motion-vh,100vh) * 6.8);padding:0;position:relative;overflow:visible}
.motion-enabled .how-pin{position:sticky;top:64px;height:calc(var(--motion-vh,100vh) - 64px);overflow:clip;isolation:isolate;background:#fff}
.motion-enabled .how-stage{height:100%;position:relative}
.motion-enabled .statement{position:absolute;top:0;left:0;width:100%;display:block;margin:0;transform-origin:0 0;z-index:8;will-change:transform;pointer-events:none}
.motion-enabled .statement h2{margin-left:88px;font-size:clamp(39px,5.2vw,68px);font-weight:600;letter-spacing:-2.8px;line-height:1.13;max-width:none;white-space:normal;width:calc(100% - 88px)}
.motion-enabled .statement .brand-coin{position:absolute;left:0;top:0;will-change:transform;transform-origin:center center}
.typing-letter{color:#e6e4e8;transition:none}.typing-letter.is-typed{color:var(--ink)}.typing-letter.emphasis.is-typed{color:#ae7a1c}
.motion-enabled .typing-caret{display:block;position:absolute;top:0;left:0;width:3px;height:.95em;background:#b78525;opacity:var(--caret-opacity,1);animation:caretBlink 1s steps(1,end) infinite;will-change:transform}
.motion-enabled .story-layout{position:absolute;inset:135px 0 34px;display:grid;grid-template-columns:43% 53%;gap:4%;width:100%;margin:0;pointer-events:none;opacity:0}
.motion-enabled .story-copy{position:relative;height:100%;min-height:0;z-index:7}
.motion-enabled .story-copy-inner{position:absolute;inset:0;padding:0;top:0}
.motion-enabled .story-copy-panel{position:absolute;left:0;right:0;top:44%;transform:translateY(-30%);opacity:0;pointer-events:none;will-change:transform,opacity,filter;padding-right:18px}
.motion-enabled .story-copy-panel.is-active{pointer-events:auto}.story-copy-panel .eyebrow{font-size:10px;color:#a57826}
.motion-enabled .story-copy h3{font-size:clamp(29px,3.3vw,46px);line-height:1.12;letter-spacing:-1.65px;font-weight:550;margin:22px 0 20px}
.story-copy-panel>p:not(.eyebrow){font-size:15px;line-height:1.75;color:#8d8792;max-width:360px;min-height:100px}
.story-copy-panel .text-link{margin-top:23px;color:#9a6b19;font-size:12px}
.motion-enabled .story-progress{position:absolute;bottom:36px;left:0;margin:0;display:flex;gap:7px}.motion-enabled .story-progress i{height:3px;width:22px;background:#e4e0e7;transition:width .3s,background .3s}.motion-enabled .story-progress i.active{width:48px;background:var(--amber)}
.motion-enabled .story-scenes{position:relative;perspective:1400px;transform-style:preserve-3d;pointer-events:none;min-width:0;height:100%;width:100%;overflow:visible}
.motion-enabled .story-scene{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:27px;border-radius:30px;transform-origin:50% 100%;will-change:transform,opacity;backface-visibility:hidden;box-shadow:0 18px 45px #22130710;pointer-events:none;transition:none}
.motion-enabled .story-scene>.scene-label{position:absolute;left:27px;right:27px;top:27px}.motion-enabled .story-scene>.scene-badge{position:absolute;left:24px;right:24px;bottom:24px;margin:0;font-size:8px}
.motion-enabled .story-scene>:not(.scene-label):not(.scene-badge){position:absolute;left:50%;top:50%;translate:-50% -50%;scale:var(--scene-scale,1);transform-origin:50% 50%;width:calc(100% - 60px);margin:0;max-width:none}
.motion-enabled .story-scene>.qr-demo-card{width:65%;max-width:290px}.motion-enabled .story-scene>.insight-ui{width:calc(100% - 46px)}
.motion-enabled .story-scene .bar-chart i{animation-play-state:running}
.motion-enabled .how:focus-within{scroll-margin-top:64px}

/* Loyalty: a directional flick through real outgoing/incoming card layers. */
.loyalty-card-holder{overflow:visible;isolation:isolate;touch-action:pan-y}.loyalty-card{will-change:transform,opacity;transition:background .3s,box-shadow .3s;backface-visibility:hidden;transform-style:preserve-3d}.loyalty-card-holder:hover .loyalty-card{transform:rotateY(-10deg) rotateZ(-4deg)}
.loyalty-ghost{pointer-events:none;z-index:6}.loyalty-card:before{animation:cardShine 8s infinite}.loyalty-back-card{will-change:transform}
.loyalty-info>.text-link{font-size:12px;color:#d5c7ac}.loyalty-info .loyalty-detail,.loyalty-info .loyalty-tabs,.loyalty-info .loyalty-benefits,.loyalty-info>.text-link{will-change:opacity,transform}
.dark-button,.amber-button{box-shadow:0 2px 0 #ffffff08;transition:transform .18s,background .2s,box-shadow .18s}.amber-button:hover{box-shadow:0 0 0 7px #ffbe2112}.dark-button:hover{box-shadow:0 0 0 7px #ffffff06}
@keyframes caretBlink{0%,49%{visibility:visible}50%,100%{visibility:hidden}}

@media(min-width:1600px){.feature-carousel{height:520px}.feature-card{height:490px;width:590px;padding:45px 47px}.feature-card .feature-art{height:235px}.feature-card h3{font-size:33px}.feature-card p{font-size:19px}.carousel-controls>.circle-button{top:-290px}.dashboard-stage{max-width:1150px;height:580px}}
@media(max-width:1100px){.feature-card{width:460px;height:420px;padding:37px 38px}.feature-carousel{height:450px}.feature-card .feature-art{height:185px}.feature-card h3{font-size:28px}.feature-card p{font-size:16px}.carousel-controls>.circle-button{top:-245px}.flow-label>span{font-size:10px;padding:12px 14px}.flow-label b{width:29px;height:29px;font-size:11px}.flow-label{gap:6px}.dashboard-stage{height:460px}.laptop-rig{width:53%}.motion-enabled .story-copy h3{font-size:35px}.story-copy-panel>p:not(.eyebrow){font-size:14px}.motion-enabled .story-layout{grid-template-columns:43% 53%;gap:4%}.motion-enabled .story-scene{padding:23px}.motion-enabled .story-scene>.scene-label{top:23px;left:23px;right:23px}}
@media(max-width:800px){.feature-card{width:390px;height:400px;padding:33px 32px;border-radius:28px}.feature-carousel{height:430px}.feature-card .feature-art{height:170px}.feature-art>img{width:135px;height:135px}.feature-card h3{font-size:26px}.feature-card p{font-size:15px}.carousel-controls>.circle-button{top:-235px}#feature-prev{left:15px}#feature-next{right:15px}.feature-art .big-symbol{font-size:90px}.dashboard-stage{width:calc(100% - 50px);margin-left:auto;height:410px}.flow-label>span{font-size:8px;padding:10px 11px}.flow-label b{width:24px;height:24px;font-size:9px}.flow-label{gap:4px}.flow-label-two{gap:6px}.workflow-arrow{stroke-width:3.5}.laptop-rig{width:55%;bottom:27px}.motion-enabled .statement h2{font-size:47px;letter-spacing:-2px;margin-left:75px;width:calc(100% - 75px)}.brand-coin{width:60px;height:60px}.coin-face img{width:41px;height:41px}.motion-enabled .story-layout{inset:125px 0 35px;grid-template-columns:43% 53%;gap:4%}.motion-enabled .story-copy h3{font-size:30px;letter-spacing:-1.2px}.story-copy-panel>p:not(.eyebrow){font-size:12px;line-height:1.8;min-height:100px}.story-copy-panel .eyebrow{font-size:8px}.story-copy-panel .text-link{font-size:10px}.motion-enabled .story-scene{border-radius:24px}.motion-enabled .story-scene>.scene-label{font-size:6px;letter-spacing:.6px;left:19px;right:19px;top:22px}.motion-enabled .story-scene>.scene-badge{font-size:6px;bottom:20px;left:15px;right:15px}.motion-enabled .story-scene>:not(.scene-label):not(.scene-badge){width:calc(100% - 35px)}.motion-enabled .story-scene>.qr-demo-card{width:80%}.motion-enabled .story-scene>.insight-ui{width:calc(100% - 25px)}}
@media(max-width:600px){.features{padding-bottom:65px}.features .section-heading{margin-bottom:40px}.feature-card{width:calc(100vw - 82px);max-width:350px;height:365px;padding:30px 27px;border-radius:25px}.feature-carousel{height:395px}.feature-card .feature-art{height:150px;margin-bottom:22px}.feature-art>img{width:122px;height:122px}.feature-art .big-symbol{font-size:85px}.feature-art .symbol-dots{font-size:7px;bottom:4px;padding:5px 7px}.feature-card h3{font-size:24px;line-height:1.12;letter-spacing:-.75px;margin-bottom:14px}.feature-card p{font-size:13px;line-height:1.65}.feature-number{font-size:7px;top:20px;right:22px}.carousel-controls>.circle-button{width:34px;height:34px;top:-215px;font-size:16px}#feature-prev{left:8px}#feature-next{right:8px}.carousel-dots{gap:7px}.carousel-dots button{width:5px;height:5px}.carousel-dots button.active{width:22px}.carousel-caption{font-size:8px}.carousel-controls{margin-top:3px}
  .dashboard-stage{width:calc(100% - 32px);margin:18px auto 0;height:355px;max-width:500px;perspective:900px}.laptop-rig{width:82%;bottom:63px;perspective:900px}.laptop-lid,.lid-front,.lid-reflection{border-radius:10px 10px 0 0}.flow-label{top:auto;bottom:2px;transform:translateY(12px) scale(.8);max-width:31%;gap:5px;flex-direction:column;text-align:center;white-space:normal}.flow-label>span{font-size:7px;line-height:1.45;padding:8px 9px;border-radius:12px;min-height:37px;display:flex;align-items:center;justify-content:center}.flow-label b{width:22px;height:22px;flex-shrink:0;font-size:9px}.flow-label-one{left:0}.flow-label-two{left:50%;top:auto;bottom:2px;transform:translate(-50%,12px) scale(.8);width:36%;max-width:36%;gap:5px}.flow-label-three{right:0;flex-direction:column}.flow-label-three>span{min-width:85px}.workflow-arrows{top:calc(100% - 49px);height:30px;inset-inline:0;width:100%}.workflow-arrow{stroke-width:7}.dashboard-stage.is-open .flow-label-two{transform:translate(-50%,0) scale(1)}.dashboard-halo{inset:5% -10% 10%}.platform-pillars{margin-top:43px}.platform-pillars .pillar{padding-top:12px}
  .motion-enabled .how{height:calc(var(--motion-vh,100svh) * 6.7)}.motion-enabled .how-pin{top:66px;height:calc(var(--motion-vh,100svh) - 66px)}.motion-enabled .how-stage{width:calc(100% - 40px)}.motion-enabled .statement{display:block;width:100%;margin:0}.motion-enabled .statement h2{font-size:36px;line-height:1.15;letter-spacing:-1.5px;width:100%;margin-left:0;padding-top:0}.motion-enabled .statement .brand-coin{width:60px;height:60px;left:0;top:-85px}.motion-enabled .typing-caret{width:2px}.motion-enabled .story-layout{display:block;inset:125px 0 24px;grid-template-columns:none;gap:0}.motion-enabled .story-copy{position:absolute;left:0;right:0;top:0;height:139px}.motion-enabled .story-copy-inner{position:absolute;inset:0}.motion-enabled .story-copy-panel{top:0;left:0;right:0;padding:0;transform:none}.story-copy-panel .eyebrow{font-size:7px;letter-spacing:1px}.motion-enabled .story-copy h3{font-size:23px;line-height:1.12;letter-spacing:-.8px;margin:10px 0 10px}.motion-enabled .story-copy h3 br{display:none}.story-copy-panel>p:not(.eyebrow){font-size:11px;line-height:1.65;min-height:0;max-width:100%}.story-copy-panel .text-link{display:none}.motion-enabled .story-progress{display:none}.motion-enabled .story-scenes{position:absolute;left:0;right:0;top:145px;bottom:0;width:100%;height:auto}.motion-enabled .story-scene{height:100%;min-height:0;border-radius:23px}.motion-enabled .story-scene>.scene-label{font-size:6px;top:20px;left:22px;right:22px;letter-spacing:.7px}.motion-enabled .story-scene>.scene-badge{font-size:6px;line-height:1.5;bottom:18px;left:15px;right:15px}.motion-enabled .story-scene>:not(.scene-label):not(.scene-badge){width:calc(100% - 42px)}.motion-enabled .story-scene>.qr-demo-card{width:78%;max-width:270px}.motion-enabled .story-scene>.insight-ui{width:calc(100% - 35px)}.motion-enabled .story-scene .qr-art{width:110px;height:110px;margin:17px auto}.motion-enabled .story-scene .qr-demo-card h4{font-size:28px}.motion-enabled .story-scene .bar-chart{height:105px}.motion-enabled .story-scene .mood-overview{gap:15px}.motion-enabled .story-scene .mood-overview h4{font-size:21px}.motion-enabled .story-scene .google-review-card{padding:25px 15px}.motion-enabled .story-scene .google-review-card h4{font-size:26px}.motion-enabled .story-scene .review-stars{font-size:24px}.motion-enabled .story-scene .review-route{margin-top:19px;padding-top:16px}.loyalty-info>.text-link{font-size:10px}.loyalty-ghost{border-radius:17px}
}
@media(max-width:600px){.motion-enabled .story-scenes{clip-path:inset(-8px -23px -45px -23px)}}
@media(max-width:370px){.feature-card{width:calc(100vw - 65px);height:350px;padding:27px 25px}.feature-carousel{height:380px}.feature-card h3{font-size:22px}.feature-card p{font-size:12px}.feature-card .feature-art{height:145px}.motion-enabled .statement h2{font-size:32px}.motion-enabled .story-layout{top:118px}.motion-enabled .story-scenes{top:150px}.motion-enabled .story-copy h3{font-size:21px}.story-copy-panel>p:not(.eyebrow){font-size:10px}.dashboard-stage{height:320px}.laptop-rig{bottom:68px}}
@media(max-height:700px) and (min-width:601px){.motion-enabled .story-layout{top:115px;bottom:27px}.motion-enabled .story-copy h3{font-size:32px;margin-block:15px}.story-copy-panel>p:not(.eyebrow){min-height:80px;font-size:12px}.story-copy-panel .text-link{margin-top:10px}.motion-enabled .story-progress{bottom:12px}}
@media(prefers-reduced-motion:reduce){.feature-card{transition:none!important}.dashboard-stage{--lid-angle:0deg!important;--lid-shade:0!important}.flow-label{opacity:1;transform:none}.flow-label-two{transform:translateX(-50%)}.workflow-arrow{stroke-dashoffset:0;opacity:1}.brand-coin{float:left;margin-right:14px}.typing-letter{color:var(--ink)}.typing-letter.emphasis{color:#ae7a1c}.how-stage>.statement{display:flex;margin-bottom:80px}.how-stage>.story-layout{display:grid;position:static}.story-copy-panel{opacity:1;position:static}.typing-caret{display:none!important}.loyalty-ghost{display:none}.platform-pillars .pillar{opacity:1!important;transform:none!important;filter:none!important}}
