@font-face{font-family:Poppins;src:url('/assets/poppins-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/poppins-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#181e25;--muted:#54616e;--paper:#fff;--light:#f3f5f6;--line:#dce1e5;--dark:#11151b;--brand-yellow:#f8ec48;--brand-blue:#9ad1ed;--brand-green:#79bc63;--brand-orange:#e94c32;--accent:var(--brand-yellow);--orange:#b83a22;--radius-card:18px;--radius-image:16px;--radius-control:10px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.25em}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,h4,p,figure{margin:0 0 1.1rem}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.035em;font-weight:700}h1{font-size:clamp(2.5rem,5.4vw,5rem)}h2{font-size:clamp(2rem,3.3vw,3.25rem)}h3{font-size:clamp(1.35rem,2.3vw,2rem)}p{color:var(--muted)}p:last-child{margin-bottom:0}strong{font-weight:700}a:hover{color:var(--orange)}:focus-visible{outline:3px solid #177ac5;outline-offset:5px}::selection{color:var(--ink);background:#f8d77b}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding:96px 0}.light{background:var(--light)}.grid{display:grid;gap:30px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.eyebrow{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--orange);margin-bottom:22px}.section-heading{max-width:860px;margin:0 auto 54px;text-align:center}.section-heading h3{font-size:clamp(2rem,3vw,2.9rem)}.section-heading.compact{margin-bottom:38px}.section-heading p{max-width:660px;margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:100;background:white;color:#111;padding:12px 18px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;gap:28px;align-items:center;justify-content:space-between}.brand{width:268px;flex-shrink:0}.brand img{width:100%}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{font-size:.875rem;white-space:nowrap;text-decoration:none;padding:32px 0;color:#2a3036;position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .2s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.site-header nav a:last-child{background:var(--ink);color:white;padding:11px 20px;border-radius:var(--radius-control)}.site-header nav a:last-child:after{display:none}.site-header nav a:last-child:hover{background:#414c58}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:var(--radius-control);color:var(--ink)}.menu-toggle span{margin-left:12px}.menu-toggle[hidden]{display:none}
.hero{background:var(--dark);color:white;padding:90px 0 100px;position:relative;overflow:hidden}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:50px;align-items:center}.hero-copy{max-width:940px;position:relative;z-index:1}.hero-copy>div>p:first-child:has(+h1),.hero-copy>p.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700}.hero h1{margin-bottom:30px}.hero h3{color:#fff;margin-bottom:24px;font-size:1.6rem}.hero p{color:#c3cbd4;max-width:760px;font-size:1.1rem;line-height:1.85}.hero .eyebrow{color:var(--accent);font-size:.8rem}.hero .hero-copy>div>p:first-child:has(+h1){margin-bottom:25px}.hero-copy a:not(.button){color:#fff}.hero-copy a:not(.button):hover{color:var(--accent)}.home-hero{background:#202122 url('/assets/bg3.png') center/cover no-repeat;padding:90px 0 94px}.home-hero .hero-layout{grid-template-columns:1.12fr .88fr;gap:26px}.home-hero h1{font-size:clamp(2.8rem,5vw,4.55rem);max-width:640px}.home-hero .hero-copy p{font-size:1rem;max-width:610px}.hero-device{width:100%;filter:drop-shadow(0 20px 24px #0009)}.hero-visual{position:relative;min-width:0}.visual-caption{margin:8px 0 0 15%;padding:18px 0;border-top:1px solid #ffffff3b;display:flex;justify-content:space-between;gap:24px;font-size:.85rem;color:#b9c2cc}.visual-caption strong{color:white}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;background:var(--accent);color:#171a1f;border:1px solid var(--accent);padding:13px 24px;text-decoration:none;font-size:.9rem;line-height:1.5;font-weight:700;border-radius:var(--radius-control);transition:background .15s,transform .15s}.button:hover{color:#111;background:#f3df37;border-color:#f3df37;transform:translateY(-2px)}.text-link{font-size:.925rem;font-weight:700}.text-link a{text-decoration:underline}.services-hero{background:linear-gradient(90deg,rgba(17,21,27,.96) 0%,rgba(17,21,27,.9) 45%,rgba(17,21,27,.25) 100%),#11151b url('/assets/retail-services.jpg') right center/cover no-repeat}.services-hero .hero-copy{max-width:820px}.ct-hero .hero-layout{grid-template-columns:1.6fr .7fr}.ct-hero h1{font-size:clamp(2.5rem,4vw,4rem)}.ct-logo{background:#fff;border-radius:var(--radius-image);padding:30px}.accelerator-hero .hero-layout{grid-template-columns:1.2fr 1fr}.accelerator-hero h1{font-size:clamp(2.3rem,4vw,3.9rem)}.accelerator-hero .screenshot{box-shadow:0 16px 50px #0005}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column}.feature-card>img{width:100%;height:205px;object-fit:cover}.card-body{padding:28px;display:flex;flex:1;flex-direction:column}.card-body>div:first-of-type{flex:1}.card-body h3{font-size:1.5rem;margin-bottom:17px}.card-body p{font-size:.96rem;line-height:1.8}.card-body>div:last-child{margin-top:18px}.card-body a{font-weight:700;font-size:.85rem}.card-number{font-size:.8rem;letter-spacing:.1em;font-weight:700;color:var(--orange);display:block;margin-bottom:18px}.proof{padding:67px 0 62px;border-bottom:1px solid var(--line)}.proof h2{font-size:2rem}.client-strip{overflow:auto}.client-strip img{min-width:780px;width:100%;padding:8px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>div>div>h3{font-size:clamp(2rem,3vw,3rem)}.split p{font-size:1rem}.stat-panel{background:var(--dark);color:white;border-radius:var(--radius-card);overflow:hidden}.stat-panel>img{width:100%;height:225px;object-fit:cover}.stat-panel>div{padding:32px 36px}.stat-panel p{color:#c3cbd4}.stat-panel h2{font-size:clamp(3.6rem,6vw,5.6rem);color:var(--accent);margin:0 0 8px}.feature-visual{overflow:hidden;border-radius:var(--radius-card)}.feature-visual img{min-height:340px;object-fit:cover}.inline-cta{display:flex;gap:40px;justify-content:space-between;align-items:center}.inline-cta h2{margin:0}.services-grid{gap:0;border-top:1px solid var(--line)}.service-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-image)}.services-grid .service-card{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:38px 46px 40px 0}.services-grid .service-card:nth-child(even){border-left:1px solid var(--line);padding-left:46px;padding-right:0}.service-card h2,.service-card h3{font-size:1.55rem;letter-spacing:-.03em}.service-card p{font-size:.95rem}.tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;align-items:center;background:white;border:1px solid var(--line);padding:30px;border-radius:var(--radius-card)}.tech-grid img{width:100%;height:65px;object-fit:contain}.integration-grid{border-radius:var(--radius-card);overflow:hidden;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.integration{padding:24px 18px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.integration img{width:100%;height:122px;object-fit:contain;margin-bottom:20px}.integration h2{font-size:1rem;line-height:1.4;letter-spacing:-.015em;margin-bottom:9px}.integration p{font-size:.8rem;line-height:1.6}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:100px}.about-layout aside{border-top:3px solid var(--accent);padding-top:25px}.aside-note{font-size:1.1rem}.prose{line-height:1.9}.prose p{margin-bottom:1.4rem}.prose h2,.prose h3{margin:2rem 0 1.2rem}.prose h3:first-child{margin-top:0}.partner-mark{height:96px;max-width:210px;object-fit:contain;margin:20px 0 32px}.architecture{width:auto;max-height:180px;object-fit:contain;margin:50px auto;background:white;padding:24px;border-radius:var(--radius-image)}.case-heading{max-width:880px;margin:0 0 45px}.case-heading h2{font-size:2.65rem}.case-heading h3{color:var(--orange);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.step{border-top:2px solid var(--accent);padding-top:24px}.step h2{color:var(--orange)}.outcome{border-radius:var(--radius-image);margin-top:40px;padding:30px 36px;background:var(--light);border-left:3px solid var(--accent)}.client-section{padding:62px 0;background:var(--light)}.client-section .service-card{padding:30px}.client-image{height:140px;width:100%;object-fit:contain;margin-bottom:28px}.jump-section{padding:22px 0;border-bottom:1px solid var(--line)}.jump-links{display:flex;gap:34px;align-items:center;flex-wrap:wrap;font-size:.9rem}.jump-links span{color:var(--muted);margin-right:auto}.jump-links a{font-weight:700}.case-study{max-width:970px;margin:auto}.case-block{max-width:870px}.case-label{font-size:2rem;border-top:1px solid var(--line);padding-top:30px;margin-top:38px}.screen-card{margin:0;align-self:start;border:1px solid var(--line);border-radius:var(--radius-image);overflow:hidden;background:var(--light)}.screen-card img{width:100%}.screen-card figcaption{padding:18px 24px;font-weight:700;font-size:.9rem}.screenshot{border-radius:var(--radius-image)}.cta{background:#20262e;color:#fff;padding:78px 0}.cta-inner{display:flex;gap:72px;align-items:center}.cta-inner>div{max-width:850px}.cta-inner h2{font-size:clamp(2rem,3.3vw,3rem);max-width:720px}.cta p{color:#c0c8d2}.cta .eyebrow{color:var(--accent)}.cta .button{flex-shrink:0;white-space:nowrap}.button-light{background:white;border-color:white;color:var(--ink)}
.contact-section{background:var(--light);padding:90px 0}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:start}.contact-details h1{font-size:4rem}.contact-details h2{font-size:3rem}.contact-details p{font-size:1rem}.contact-details a{color:var(--orange);font-weight:700}form{background:#fff;border:1px solid var(--line);padding:38px;border-radius:var(--radius-card)}form h2{font-size:1.8rem}form>p{font-size:.85rem}label{display:block;font-weight:700;font-size:.85rem;margin-bottom:9px}input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #abb4bd;border-radius:var(--radius-control);padding:12px;margin-bottom:24px}input:focus,textarea:focus{border-color:#177ac5}textarea{resize:vertical;min-height:150px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font-size:.8rem;margin-bottom:24px}.form-status{margin-top:20px;color:#902d13}.legal{max-width:900px;margin:auto}.legal h2{font-size:2rem}.legal h3{font-size:1.4rem}.legal a{overflow-wrap:anywhere}.legal ul,.legal ol{padding-left:1.5rem}.site-footer{background:white;padding:56px 0 28px}.footer-top{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-bottom:45px}.footer-brand{max-width:290px}.footer-top .eyebrow{font-size:.75rem;color:var(--muted);margin-bottom:12px}.footer-email{font-size:1.3rem;font-weight:700;text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:24px;justify-content:space-between;font-size:.78rem}.footer-bottom p{margin:0}.footer-bottom nav{display:flex;gap:26px}
/* Logo colours identify the three commerce capabilities. */
.feature-card .card-number{align-self:flex-start;min-width:36px;padding:4px 10px;border-radius:8px;text-align:center;background:#e5f4fc;color:#245b73}
.feature-card:nth-child(2) .card-number{background:#fffbd1;color:#67580b}
.feature-card:nth-child(3) .card-number{background:#e8f5e3;color:#326523}
@media(min-width:1440px){.home-hero{min-height:680px;display:flex;align-items:center}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.brand{width:230px}.site-header nav{gap:17px}.site-header nav a{font-size:.8rem}.split{gap:45px}.cta-inner{gap:40px}.integration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-layout{gap:60px}.contact-layout{gap:50px}}
@media(max-width:960px){.site-header .header-inner{min-height:82px;flex-wrap:wrap;gap:0;padding-block:16px}.menu-toggle:not([hidden]){display:block}.site-header nav{width:100%;display:flex;flex-wrap:wrap;gap:5px 24px;padding:20px 0 0}.site-header nav a{padding:10px 0;font-size:.95rem}.site-header nav a:after{bottom:3px}.site-header nav a:last-child{padding:9px 20px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.home-hero .hero-layout{grid-template-columns:1.15fr .85fr}.hero{padding:65px 0 75px}.home-hero h1{font-size:3.5rem}.section{padding:72px 0}.three{gap:20px}.card-body{padding:23px}.feature-card>img{height:170px}.card-body h3{font-size:1.3rem}.cta-inner{display:block}.cta .button{margin-top:28px}.ct-hero .hero-layout{grid-template-columns:1fr}.ct-logo{max-width:280px;padding:20px}.hero-layout{gap:30px}.about-layout{grid-template-columns:1fr 2fr;gap:35px}.accelerator-hero .hero-layout{grid-template-columns:1fr}.accelerator-hero .screenshot{max-height:430px;width:auto}.contact-layout{grid-template-columns:1fr 1.3fr;gap:32px}form{padding:28px}.contact-details h1{font-size:3rem}}
@media(max-width:720px){.container{width:calc(100% - 40px)}.brand{width:225px}.hero{padding:50px 0 60px}.home-hero .hero-layout{grid-template-columns:1fr;gap:35px}.home-hero h1{font-size:clamp(2.6rem,10vw,4rem)}.hero-copy p{font-size:1rem}.hero-visual{max-width:480px;width:100%;margin:auto}.hero-device{max-height:330px;object-fit:contain}.visual-caption{margin-left:0}.actions{gap:23px;margin-top:28px}.section{padding:58px 0}.three,.two,.split,.about-layout,.contact-layout{grid-template-columns:1fr}.three{gap:25px}.section-heading{margin-bottom:35px;text-align:left}.section-heading p{margin-left:0}.feature-card>img{height:auto;aspect-ratio:16/9}.card-body{padding:26px}.card-body h3{font-size:1.5rem}.split{gap:35px}.reverse .feature-visual{order:2}.stat-panel>img{height:210px}.stat-panel h2{font-size:4.4rem}.feature-visual img{min-height:230px;width:100%}.proof{padding:45px 0}.client-strip img{min-width:740px}.services-grid .service-card,.services-grid .service-card:nth-child(even){padding:30px 0;border-left:0}.tech-grid{padding:24px;gap:24px}.integration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.integration{padding:20px 12px}.integration img{height:92px}.integration h2{font-size:.85rem}.integration p{font-size:.75rem}.inline-cta{display:block}.inline-cta .button{margin-top:25px}.about-layout aside{margin-bottom:10px}.case-heading h2{font-size:2rem}.architecture{max-width:100%;padding:12px}.jump-links{gap:15px 25px}.jump-links span{width:100%}.contact-details h1{font-size:3rem}form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{align-items:flex-start;flex-direction:column;gap:30px}.footer-brand{max-width:260px}.footer-bottom{flex-direction:column;gap:15px}.footer-email{font-size:1.15rem}.screen-card figcaption{padding:14px 20px}.prose{line-height:1.85}.legal h2{font-size:1.65rem}.legal h3{font-size:1.3rem}}
@media(max-width:390px){.container{width:calc(100% - 32px)}.brand{width:196px}.menu-toggle{padding:7px 9px;font-size:.8rem}.menu-toggle span{margin-left:8px}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero h1{font-size:2.55rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* Keep every stack label visible at narrow widths. */
.feature-visual.tech-stack-visual img{width:100%;height:auto;min-height:0;object-fit:contain}
.isometric-image{background:#fff;object-fit:contain}
.feature-card>img.isometric-image,.stat-panel>img.isometric-image{object-fit:contain;background:#fff}
.feature-card>img.isometric-image{height:auto;aspect-ratio:3/2}
.stat-panel>img.isometric-image{height:auto;aspect-ratio:16/9}
.tech-stack-visual{margin:0;background:#fff;border:1px solid var(--line)}
.stack-caption{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:0 20px 24px;text-align:center;font-size:.8rem;font-weight:700;color:var(--muted)}
.screen-card .isometric-image{display:block;aspect-ratio:3/2;object-fit:contain;border-radius:0}
.screen-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.screen-card figcaption a{font-size:.8rem;font-weight:500}
.integration-brand-link{display:block;text-decoration:none}

/* Subtle depth for grey-bordered cards and panels. */
.feature-card,
.service-card,
.tech-grid,
.integration-grid,
.screen-card,
.tech-stack-visual,
form {
  box-shadow: 0 2px 8px rgba(24, 30, 37, .05);
}

.services-grid .service-card {
  box-shadow: none;
}

/* Enlarge the tablet, allowing for its transparent padding, and feather its shadow. */
.home-hero .hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
}

.home-hero .hero-device {
  width: calc(100% + 140px);
  max-width: none;
  margin-inline: -70px;
  filter: none;
  -webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 50%, #000 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 60% 55% at 50% 50%, #000 72%, transparent 100%);
}

.home-hero .visual-caption {
  margin: -16px 0 0 8%;
}

@media (max-width: 960px) {
  .home-hero .hero-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 24px;
  }
  .home-hero .hero-device {
    width: calc(100% + 88px);
    margin-inline: -44px;
  }
  .home-hero .visual-caption {
    margin-top: 0;
  }
}

@media (max-width: 720px) {
  .home-hero .hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .home-hero .hero-visual {
    max-width: 540px;
  }
  .home-hero .hero-device {
    width: calc(100% + 64px);
    margin-inline: -32px;
    max-height: none;
  }
  .home-hero .visual-caption {
    margin: -8px 0 0;
  }
}
