.apps-main{max-width:1180px;margin:auto;padding:35px 24px 80px}.apps-main .hero{padding-bottom:50px}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.app-card{background:#fff;border:1px solid #e0e8ea;border-radius:24px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 20px 45px #244d5808}.app-card h2{font-size:30px;letter-spacing:-1px;margin:25px 0 12px}.app-card p,.loyalty-copy p,.guide p,.guide li{color:var(--muted);line-height:1.75}.app-card p{flex:1}.app-card .card-button{margin-top:22px}.app-status{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#006875;background:#eaf6f6;padding:7px 11px;border-radius:20px}.app-status.pending{background:#f1f1f4;color:#606574}.loyalty-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:70px}.loyalty-copy h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.06em;margin:25px 0}.loyalty-copy h1 em{font-style:normal;color:#006875}.loyalty-copy p{font-size:18px}.loyalty-art{width:100%;height:auto;filter:drop-shadow(0 20px 45px #244d5812)}.app-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px}.app-actions a:focus-visible,.app-card a:focus-visible,.guide a:focus-visible{outline:3px solid #006875;outline-offset:5px}.app-section{margin-top:70px}.app-section>h2{font-size:36px;letter-spacing:-1px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feature-grid article{border-top:2px solid #8ac3c8;padding:22px 0}.feature-grid p{color:var(--muted);line-height:1.7}.price-note{padding:36px;border-radius:24px;background:#eaf6f6;line-height:1.7}.price-note h2{margin-top:0}.guide{max-width:820px;margin:auto}.guide section{padding:30px 0;border-top:1px solid #dbe6e8;scroll-margin-top:24px}.guide h2{font-size:26px;letter-spacing:-.6px}.guide-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 40px}.guide-nav a{padding:10px 14px;border:1px solid #dbe6e8;border-radius:10px;font-size:13px}.apps-footer{margin-top:60px;padding-top:25px;border-top:1px solid #dbe6e8;display:flex;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:13px}.apps-network{position:absolute;right:-6%;bottom:4%;width:62%;opacity:.92}.apps-main a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.app-grid,.feature-grid{grid-template-columns:1fr}.loyalty-hero{grid-template-columns:1fr;gap:20px}.apps-main{padding-top:20px}.topbar-actions{gap:14px}.app-card{padding:24px}.loyalty-art{max-width:520px;margin:auto}.apps-network{width:65%;right:-12%;opacity:.45}.apps-main .hero h1{font-size:46px}}@media(prefers-reduced-motion:reduce){.apps-main *{animation:none!important;transition:none!important}}

.loyalty-hero figure{margin:0}.loyalty-hero figcaption{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.6}

.app-card{position:relative;overflow:hidden;isolation:isolate;min-height:400px;padding-top:150px;background:linear-gradient(150deg,#fff 30%,#f1f8f8)}.app-tile-art{position:absolute;top:6px;right:12px;width:190px;height:140px;z-index:-1;opacity:.8}.app-card h2{font-size:clamp(23px,2.4vw,30px);overflow-wrap:anywhere}.app-card .app-status{position:absolute;top:28px;left:24px;background:#ffffffed}.app-card p{margin-bottom:8px}.apps-network{width:52%;right:-2%;bottom:4%;opacity:.85}.apps-main~*{box-sizing:border-box}
@media(min-width:801px){body[data-page="home"] .invoice-card .card-copy{width:62%;min-width:0}.apps-network{bottom:3%;width:48%}}
@media(max-width:600px){body[data-product-route] .topbar{flex-wrap:wrap;padding:16px 0;gap:16px}body[data-product-route] .topbar-actions{gap:16px;flex-wrap:wrap}.apps-network{width:58%;right:-10%;opacity:.22}.app-card{min-height:360px}}

/* Product compositions: the service illustration is part of the whole tile. */
body[data-product-route="apps"]{background:radial-gradient(ellipse at 15% 25%,#fff7ec88,transparent 40%),radial-gradient(ellipse at 90% 60%,#e1f4f580,transparent 50%),#fafafd}
body[data-product-route="apps"] .topbar{width:calc(100% - 32px);min-height:66px;margin:14px auto 0;padding:10px 22px;border:1px solid #e5e6ec;border-radius:19px;background:#ffffffdb;box-shadow:0 12px 35px #24283a05}
body[data-product-route="apps"] .brand{font-size:19px;font-weight:600;gap:10px}body[data-product-route="apps"] .brand-mark{width:34px;height:34px;box-shadow:none;border-radius:8px}
body[data-product-route="apps"] .apps-main{max-width:1320px;padding-top:56px}body[data-product-route="apps"] .hero{max-width:950px;padding-bottom:48px}body[data-product-route="apps"] .hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.06}body[data-product-route="apps"] .hero p{font-size:17px;max-width:720px}
.app-grid{gap:22px;align-items:stretch}.app-card{--tile-accent:#006875;--tile-soft:#e2f0f1;display:flex;position:relative;isolation:isolate;overflow:hidden;min-height:615px;padding:0;align-items:stretch;border:1px solid #e0e5eb;border-radius:22px;background:radial-gradient(ellipse at 80% 52%,var(--tile-soft),transparent 65%),linear-gradient(155deg,#fff 5%,#f6f8fb 95%);box-shadow:0 14px 38px #28334407;transition:transform .25s ease,box-shadow .25s ease}
.app-card[data-app="loyalty"]{--tile-accent:#28715D;--tile-soft:#dfeee7}.app-card[data-app="gift"]{--tile-accent:#845524;--tile-soft:#f3e8d7}.app-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px #28334412}.tile-copy{padding:27px 28px 0;position:relative;z-index:2}.tile-heading{display:flex;align-items:center;justify-content:space-between}.tile-number{font-size:12px;color:#84929b;letter-spacing:.1em}.app-card .app-status{position:static;padding:6px 9px;font-size:10px;letter-spacing:.07em;color:var(--tile-accent);background:#ffffffa8;border:1px solid #ffffff}.app-card h2{margin:20px 0 12px;font-size:clamp(25px,2.5vw,33px);letter-spacing:-1.2px;line-height:1.12}.app-card p{margin:0;font-size:14px;line-height:1.75;min-height:74px;flex:none}
.tile-scene{position:relative;height:280px;flex:1;min-height:265px;margin:8px 0 0;pointer-events:none}.scene-sheet{position:absolute;width:64%;height:228px;left:14%;top:14px;padding:19px 20px;background:linear-gradient(145deg,#fff,#fbfcfd);border:1px solid #edf0f4;border-radius:14px;box-shadow:0 20px 26px #26434d19,0 2px 5px #26434d08;transform:rotate(-5deg);z-index:2}.scene-echo{position:absolute;width:63%;height:216px;left:19%;top:29px;border:1px solid #e1e9ec;border-radius:15px;background:#ffffff50;transform:rotate(3deg);z-index:1}.scene-brand{font-size:17px;font-weight:800;color:var(--tile-accent);display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.scene-brand>span{font-size:9px;font-weight:500;color:#88949e}.scene-sheet>strong{font-size:13px;color:#263443}.scene-lines{margin-top:12px}.scene-lines i{display:block;width:68%;height:4px;border-radius:3px;background:#dce5e8;margin:7px 0}.scene-lines i:last-child{width:43%;background:#e8edf0}.scene-table{margin:17px 0;border-top:1px solid #e5eaee}.scene-table i{display:block;height:15px;border-bottom:1px solid #e5eaee;background:linear-gradient(90deg,#e8eef0 30%,transparent 30%);background-size:100% 3px;background-repeat:no-repeat;background-position:center}.scene-total{display:block;text-align:right;font-size:14px;color:var(--tile-accent)}.scene-signature{font-family:cursive;font-size:14px;font-style:italic;color:#82969d}.scene-float{position:absolute;right:6%;bottom:23px;display:flex;align-items:center;gap:10px;max-width:82%;padding:14px 17px;background:#fff;border:1px solid #e5ecee;border-radius:13px;box-shadow:0 14px 32px #28444b1a;z-index:3;transform:rotate(3deg);font-size:11px;color:#354850}.scene-float small{display:block;font-size:10px;color:#7c8e95;margin-top:4px}.scene-check{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tile-soft);color:var(--tile-accent);font-size:17px}.scene-caption{font-size:11px;color:#788b89}.scene-balance{font-size:35px;font-weight:700;color:var(--tile-accent);margin:10px 0}.scene-balance small{font-size:11px;font-weight:400}.scene-progress{height:6px;border-radius:5px;background:#e5ede8}.scene-progress i{display:block;width:76%;height:100%;border-radius:5px;background:var(--tile-accent)}.scene-perks{display:flex;gap:10px}.scene-perks span{width:25px;height:25px;background:var(--tile-soft);border-radius:50%;display:grid;place-items:center;color:var(--tile-accent)}.scene-loyalty .scene-sheet{transform:rotate(4deg);left:19%}.scene-loyalty .scene-float{right:22%;transform:rotate(-4deg)}.scene-cart-row{display:flex;align-items:center;gap:10px;margin-top:17px;padding-bottom:12px;border-bottom:1px solid #e9edef}.scene-product,.scene-present{display:grid;place-items:center;flex:none;width:34px;height:36px;border-radius:7px;background:linear-gradient(145deg,#e4d7c7,#c5af92);color:var(--tile-accent);font-size:23px}.scene-product:after{content:'';width:12px;height:23px;background:#fbfaf6;border-radius:5px 5px 3px 3px;box-shadow:2px 3px 5px #88735135}.scene-cart-row .scene-lines{flex:1;margin:0}.scene-cart-row b{font-size:9px;font-weight:600}.scene-cart-row small{display:block;font-size:10px;color:var(--tile-accent);margin-top:5px}.scene-present{background:var(--tile-soft)}.scene-checkout{height:19px;background:var(--tile-accent);border-radius:5px;margin-top:14px}.scene-gift .scene-float{bottom:14px}.tile-footer{padding:12px 28px 26px;position:relative;z-index:4}.tile-benefit{display:block;color:#71808d;font-size:11px;line-height:1.55;margin:0 0 16px;min-height:34px}.app-card .card-button{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:12px 15px;margin:0;border-radius:9px;background:#121824;box-shadow:0 5px 10px #1822330c;color:#fff;font-size:12px}.app-card .card-button:hover{text-decoration:none;background:var(--tile-accent)}.tile-unavailable{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #dddcd9;border-radius:9px;color:#837f78;font-size:12px;background:#ffffff60}
@media(max-width:800px){.app-grid{max-width:550px;margin:auto}.app-card{min-height:580px}.app-card h2{font-size:32px}.app-card p{min-height:0}.tile-scene{min-height:275px}.scene-sheet{max-width:250px}.scene-echo{max-width:250px}.tile-copy{padding:26px 26px 0}.tile-footer{padding:14px 26px 26px}body[data-product-route="apps"] .apps-main{padding-top:34px}body[data-product-route="apps"] .hero h1{font-size:39px}body[data-product-route="apps"] .topbar{padding:10px 14px}}

.app-card[href]{cursor:pointer}.apps-main a.app-card:hover{text-decoration:none}.app-card[href]:focus-visible{outline:3px solid var(--tile-accent);outline-offset:5px}.app-card[href]:hover .card-button{background:var(--tile-accent)}
.scene-loyalty{display:flex;align-items:center;justify-content:center;padding-bottom:35px}.loyalty-orbit{width:190px;height:190px;border-radius:50%;padding:12px;background:conic-gradient(from -40deg,#28715D 0 275deg,#d5e5dc 275deg 360deg);box-shadow:0 18px 40px #315c4920;transform:rotate(-8deg)}.loyalty-orbit>div{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#fff,#f3f9f5);box-shadow:inset 0 0 0 7px #fff;transform:rotate(8deg)}.loyalty-orbit strong{font-size:44px;font-weight:700;color:#28715D;letter-spacing:-2px;margin:5px 0}.loyalty-orbit small{color:#779185;font-size:11px}.orbit-star{position:absolute;right:16%;top:30px;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#28715D;box-shadow:0 10px 25px #315c4920;font-size:25px}.reward-ticket{position:absolute;bottom:16px;left:14%;right:14%;padding:20px 18px;border-radius:12px;background:#fff;box-shadow:0 14px 28px #315c4920;border:1px solid #e2eae5;display:flex;align-items:center;justify-content:space-between;gap:10px;transform:rotate(-4deg)}.reward-ticket span{font-size:11px;color:#6c8377}.reward-ticket strong{font-size:21px;color:#28715D;white-space:nowrap}.reward-ticket i{position:absolute;left:60%;top:0;bottom:0;border-left:1px dashed #d8e4dc}
.scene-gift .scene-sheet{width:82%;max-width:none;height:195px;left:9%;top:37px;transform:rotate(0);border-radius:16px;padding:17px}.scene-gift .scene-echo{display:none}.scene-gift .scene-brand{display:none}.scene-gift .scene-cart-row{margin-top:13px}.scene-gift .gift-row{padding:10px;background:#f5ecdd;border:1px dashed #d9c4a7;border-radius:9px}.scene-gift .scene-float{right:4%;bottom:6px;transform:rotate(-6deg);background:#9c703f;color:#fff}.scene-gift .scene-check{background:#ffffff24;color:#fff}.scene-gift .scene-checkout{height:5px;background:#e6d8c5;margin-top:10px;width:60%}

/* Homepage composition and gentle hover motion. */
body[data-page="home"] .invoice-card{min-height:556px}
body[data-page="home"] .invoice-card .card-copy{width:55%;min-width:0;padding-bottom:40px;height:100%}
body[data-page="home"] .invoice-card p{max-width:300px;margin-bottom:28px}
body[data-page="home"] .invoice-card h2{margin-top:26px}
body[data-page="home"] .apps-network{width:48%;height:88%;object-fit:contain;right:-1%;bottom:6%;opacity:1;pointer-events:none;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
body[data-page="home"] .solution-card{animation-fill-mode:backwards}
@media(hover:hover) and (pointer:fine){body[data-page="home"] .solution-card:hover{transform:translateY(-5px)}body[data-page="home"] .invoice-card:hover .apps-network{transform:translateY(-6px) rotate(2deg) scale(1.025)}}
@media(max-width:700px){body[data-page="home"] .invoice-card{min-height:650px}body[data-page="home"] .invoice-card .card-copy{width:100%;padding-bottom:340px}body[data-page="home"] .apps-network{height:300px;width:70%;right:-2%;bottom:55px}.reward-ticket{left:9%;right:9%}}
@media(hover:none){body[data-page="home"] .solution-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){body[data-page="home"] .solution-card:hover,body[data-page="home"] .solution-card:hover .apps-network,body[data-page="home"] .solution-card:hover .studio-collage-tile img,body[data-page="home"] .solution-card:hover .card-button svg{transform:none}}

/* Pricing composition adapted from invoice/styles.css, local snapshot 2026-09-06.
   Scoped to Loyalty: shared inclusion panel, equal-weight cards, responsive grid. */
.loyalty-pricing,.loyalty-ecosystem,.loyalty-faq,.loyalty-closing{scroll-margin-top:30px}
.loyalty-pricing>p,.loyalty-ecosystem>p,.loyalty-closing>p{max-width:760px;color:var(--muted);line-height:1.7}
.loyalty-included{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center;padding:28px 32px;border:1px solid #d5e4e6;border-radius:20px;background:#fff;margin-top:32px}
.loyalty-included h3{font-size:21px;letter-spacing:-.03em}
.loyalty-included ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;list-style:none;padding:0;margin:0}
.loyalty-included li{position:relative;padding-left:25px;font-size:13px;line-height:1.5;color:#4e5870}
.loyalty-included li:before{content:'✓';position:absolute;left:0;color:#078751}
.loyalty-price-grid,.loyalty-comparison{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.loyalty-price-card{min-width:0;padding:24px 18px;border:1px solid #dfe5e9;border-radius:17px;background:#fff}
.loyalty-price-card h3{font-size:15px;color:#5e6680;margin:0}
.loyalty-price{margin-top:26px;font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1.2}
.loyalty-price small{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:#616b7c;margin-top:6px}
.loyalty-price-card>p{font-size:13px;line-height:1.7;color:#5e6680;margin:20px 0 0}
.apps-main .loyalty-fineprint{font-size:12px;line-height:1.7;max-width:900px;color:#616b7c}
.loyalty-comparison article{min-width:0;padding:18px 14px;border:1px solid #dfe5e9;border-radius:14px;background:#fff}
.loyalty-comparison h3{font-size:16px;margin:0}.loyalty-comparison h3 small{display:block;font-size:11px;color:#616b7c;font-weight:400;margin-top:8px}
.loyalty-comparison dl{margin-bottom:0}.loyalty-comparison dl div{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:8px 0}.loyalty-comparison dd{margin:0;white-space:nowrap}.loyalty-total{border-top:1px solid #dfe5e9;font-weight:700;align-items:center}
.loyalty-faq details{border-bottom:1px solid #dfe5e9;padding:20px 0}.loyalty-faq summary{cursor:pointer;font-weight:600;line-height:1.5}.loyalty-faq details p{max-width:800px;color:var(--muted);line-height:1.75}
.loyalty-closing{padding:36px!important;border-radius:24px;background:#eaf6f6}.loyalty-closing .card-button{margin-top:16px}
body[data-product-route="loyalty"] figure{min-width:0;margin:0}
body[data-product-route="loyalty"] a:focus-visible,.loyalty-faq summary:focus-visible{outline:3px solid #006875;outline-offset:5px}
@media(max-width:1000px){.loyalty-price-grid,.loyalty-comparison{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.loyalty-price-grid,.loyalty-comparison,.loyalty-included,.loyalty-included ul{grid-template-columns:1fr}.loyalty-included{padding:24px;gap:12px}.loyalty-price-card{padding:24px}.loyalty-price small{display:inline;margin-left:8px}.loyalty-comparison article{padding:20px}.loyalty-closing{padding:24px!important}body[data-product-route="loyalty"] .topbar{flex-wrap:wrap;gap:12px}body[data-product-route="loyalty"] .topbar-actions{flex-wrap:wrap}}

/* Loyalty identity, shared by its landing page and documentation. */
body[data-product-route^="loyalty"]{--loyalty-accent:#28715D;--loyalty-soft:#edf5f0;--muted:#58685f;background:#fafcfb}
body[data-product-route^="loyalty"] .apps-main a{color:var(--loyalty-accent)}
body[data-product-route^="loyalty"] .loyalty-copy h1 em{color:var(--loyalty-accent)}
body[data-product-route^="loyalty"] .app-status,body[data-product-route^="loyalty"] .loyalty-closing{color:var(--loyalty-accent);background:var(--loyalty-soft)}
body[data-product-route^="loyalty"] .apps-main a.invoice-button{color:#fff;background:var(--loyalty-accent);box-shadow:0 13px 26px #28715d24}
body[data-product-route^="loyalty"] .apps-main a.invoice-button:hover{background:#205b4b}
body[data-product-route^="loyalty"] .feature-grid article{border-color:#91bda7}
body[data-product-route^="loyalty"] .loyalty-included li:before{color:var(--loyalty-accent)}
body[data-product-route^="loyalty"] :focus-visible{outline-color:var(--loyalty-accent)}
body[data-product-route^="loyalty"] .guide section,body[data-product-route^="loyalty"] .app-section{scroll-margin-top:110px}
.loyalty-copy .loyalty-pilot-note{font-size:12px;line-height:1.7;margin-top:22px;max-width:510px}

/* Product marks from the shared Invoice, Loyalty and Gift identity set. */
.tile-identity{display:inline-flex;align-items:center;gap:9px}
.tile-identity img{display:block;width:40px;height:40px;object-fit:contain}
.app-card .tile-identity .tile-number{font-size:11px}
