/* "Our Work" page and home "Recent work" section. Uses the site's own tokens. */
.work-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;max-width:860px}
.work-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}
.work-stat b{display:block;font-family:Sora,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.work-stat span{font-size:12.5px;color:var(--ink-dim)}
.work-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.work-filter button{font:600 13px Inter,sans-serif;color:var(--ink-dim);background:var(--card);border:1px solid var(--line-strong);border-radius:30px;padding:9px 16px;cursor:pointer;transition:all .2s ease}
.work-filter button:hover{color:var(--ink);border-color:var(--ink-dim)}
.work-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.work-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.work-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}
.work-card[hidden]{display:none}
.browser{background:var(--tint);padding:12px 12px 0;border-bottom:1px solid var(--line)}
.browser-bar{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;padding:8px 10px}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#e5534b;flex:none}
.browser-bar i:nth-child(2){background:#e3963c}.browser-bar i:nth-child(3){background:#3fb27f}
.browser-bar span{margin-left:8px;flex:1;min-width:0;font:500 11.5px "IBM Plex Mono",monospace;color:var(--ink-dim);background:var(--tint);border-radius:6px;padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser-shot{display:block;aspect-ratio:16/10;overflow:hidden;background:#fff}
.browser-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 6s var(--ease)}
.work-card:hover .browser-shot img{transform:scale(1.04)}
.work-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.work-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.live-dot{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep);background:var(--teal-pale);border-radius:20px;padding:5px 11px}
.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 #0e9c8e80;animation:livepulse 2s infinite}
@keyframes livepulse{70%{box-shadow:0 0 0 7px #0e9c8e00}100%{box-shadow:0 0 0 0 #0e9c8e00}}
.work-kind{font-size:12px;color:var(--ink-dim);font-weight:600}
.work-body h3{font:800 21px/1.2 Sora,sans-serif;letter-spacing:-.015em;margin-bottom:8px}
.work-body>p{color:var(--ink-dim);font-size:14px;line-height:1.6}
.work-points{list-style:none;margin:16px 0 20px;padding:0;display:grid;gap:8px}
.work-points li{position:relative;padding-left:24px;font-size:13.5px;line-height:1.5}
.work-points li:before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:var(--teal-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%230a6b62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.work-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.work-tags span{font:500 11px "IBM Plex Mono",monospace;color:var(--navy);background:var(--navy-pale);border-radius:6px;padding:4px 8px}
.work-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.work-actions .btn-primary,.work-actions .btn-ghost{padding:12px 20px;font-size:13.5px}

/* POS spotlight */
.pos-band{background:var(--navy-deep);color:#fff;border-radius:28px;padding:56px 48px;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;overflow:hidden;position:relative}
.pos-band:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(#0e9c8e55,transparent 70%);pointer-events:none}
.pos-band .eyebrow{color:#7fe0d4}
.pos-band h2{font:800 clamp(26px,3.4vw,38px)/1.12 Sora,sans-serif;letter-spacing:-.02em}
.pos-band>div>p{color:#ffffffb3;margin-top:14px;font-size:15.5px;line-height:1.6}
.pos-features{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:26px 0 30px;padding:0;list-style:none}
.pos-features li{font-size:13.5px;color:#ffffffe0;display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.pos-features li b{display:block;color:#fff;font-weight:600}
.pos-features svg{flex:none;margin-top:2px}
.pos-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.pos-platforms span{font-size:12px;font-weight:600;border:1px solid #ffffff33;border-radius:20px;padding:6px 12px;color:#ffffffd9}
.pos-band .btn-ghost{background:transparent;color:#fff;border-color:#ffffff4d}
/* Illustration of the POS screen (not a screenshot) */
.pos-device{position:relative;z-index:1;background:#0b1622;border:1px solid #ffffff1f;border-radius:22px;padding:14px;box-shadow:0 30px 80px #00000066;transform:perspective(1200px) rotateY(-8deg) rotateX(3deg)}
.pos-screen{background:#f6f7f9;border-radius:12px;color:var(--ink);display:grid;grid-template-columns:1.35fr 1fr;min-height:330px;overflow:hidden;font-size:11px}
.pos-left{padding:12px;display:flex;flex-direction:column;gap:10px}
.pos-search{background:#fff;border:1px solid #e3e6ea;border-radius:8px;padding:8px 10px;color:#8a9399;display:flex;justify-content:space-between}
.pos-cats{display:flex;gap:6px}
.pos-cats span{background:#fff;border:1px solid #e3e6ea;border-radius:20px;padding:4px 9px;font-weight:600}
.pos-cats span:first-child{background:var(--teal);border-color:var(--teal);color:#fff}
.pos-items{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.pos-items div{background:#fff;border:1px solid #e3e6ea;border-radius:9px;padding:8px}
.pos-items i{display:block;height:26px;border-radius:6px;margin-bottom:6px;background:linear-gradient(135deg,#d6efe9,#e7ecf2)}
.pos-items div:nth-child(3n+2) i{background:linear-gradient(135deg,#efebff,#e7ecf2)}
.pos-items div:nth-child(3n) i{background:linear-gradient(135deg,#fbe9d4,#f2eee5)}
.pos-items b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-items small{color:var(--teal-deep);font-weight:700}
.pos-right{background:#fff;border-left:1px solid #e3e6ea;padding:12px;display:flex;flex-direction:column}
.pos-right h5{font:700 12px Sora,sans-serif;margin-bottom:8px;display:flex;justify-content:space-between}
.pos-right h5 em{font-style:normal;color:#8a9399;font-weight:500}
.pos-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #e3e6ea}
.pos-line span{color:#5c6663}
.pos-total{margin-top:auto;padding-top:10px}
.pos-total>div:not(.pos-pay){display:flex;justify-content:space-between;color:#5c6663;margin-bottom:4px}
.pos-total strong{display:flex;justify-content:space-between;font:800 15px Sora,sans-serif;margin:6px 0 10px}
.pos-pay{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pos-pay span{text-align:center;border-radius:8px;padding:8px 0;font-weight:700;background:var(--navy-pale);color:var(--navy)}
.pos-pay span:nth-child(2){background:var(--teal);color:#fff}
.pos-note{position:relative;z-index:1;text-align:center;font-size:11px;color:#ffffff73;margin-top:12px}

/* Software grid */
.soft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.soft-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s ease}
.soft-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.soft-card[hidden]{display:none}
.soft-card h3{font:700 17px Sora,sans-serif;letter-spacing:-.01em;margin-bottom:4px}
.soft-card .work-kind{display:block;margin-bottom:10px}
.soft-card p{color:var(--ink-dim);font-size:13.5px;line-height:1.55}
.soft-card .work-points{margin:14px 0 0}
.soft-card .work-points li{font-size:13px}
.status.ready{background:var(--violet-pale);color:var(--violet-deep)}

.include-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.include-item{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.include-item .card-icon{margin:0;flex:none;width:40px;height:40px}
.include-item h4{font:700 14.5px Sora,sans-serif;margin-bottom:4px}
.include-item p{font-size:13px;color:var(--ink-dim);line-height:1.5}

/* Home: recent work */
.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.recent-grid .work-body{padding:20px}
.recent-grid .work-body h3{font-size:18px}
.center-cta{text-align:center;margin-top:36px}

@media (width<=900px){
  .work-grid,.pos-band{grid-template-columns:1fr}
  .soft-grid,.include-grid,.recent-grid{grid-template-columns:1fr 1fr}
  .pos-band{padding:40px 28px}
  .pos-device{transform:none}
}
@media (width<=640px){
  .work-stats{grid-template-columns:1fr 1fr}
  .soft-grid,.include-grid,.recent-grid,.pos-features{grid-template-columns:1fr}
  .pos-band{padding:32px 20px;border-radius:20px}
  .pos-screen{grid-template-columns:1fr}
  .pos-right{border-left:0;border-top:1px solid #e3e6ea}
  .work-body{padding:20px}
}
@media (prefers-reduced-motion:reduce){
  .live-dot:before{animation:none}
  .browser-shot img,.work-card,.soft-card{transition:none}
}

/* Smart POS page */
.pos-hero{padding:40px 0 70px}
.pos-hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.pos-hero h1{font:800 clamp(34px,4.8vw,52px)/1.06 Sora,sans-serif;letter-spacing:-.025em}
.pos-hero .lede{margin:18px 0 0;max-width:540px;text-align:left}
.pos-hero .pos-platforms{margin:24px 0 28px}
.pos-hero .pos-platforms span{color:var(--ink);border-color:var(--line-strong);background:var(--card)}
.photo-frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background:var(--tint)}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.float-chip{position:absolute;background:#fff;border-radius:14px;box-shadow:var(--shadow-md);padding:12px 14px;display:flex;gap:10px;align-items:center;font-size:12.5px;line-height:1.3}
.float-chip b{display:block;font:800 15px Sora,sans-serif}
.float-chip i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--teal-pale);font-style:normal;font-size:16px;flex:none}
.float-chip.one{left:16px;bottom:16px}
.float-chip.two{right:16px;top:16px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 22px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s ease}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.feature-card .card-icon{background:var(--teal-pale);margin-bottom:16px}
.feature-card h3{font:700 16.5px Sora,sans-serif;margin-bottom:12px}
.feature-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.feature-card li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.5;color:var(--ink-dim)}
.feature-card li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.feature-card.highlight{background:var(--navy-deep);border-color:var(--navy-deep)}
.feature-card.highlight h3{color:#fff}
.feature-card.highlight li{color:#ffffffc7}
.feature-card.highlight .card-icon{background:#ffffff1a}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.photo-row figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.photo-row img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.photo-row figcaption{padding:16px 18px}
.photo-row figcaption b{display:block;font:700 15px Sora,sans-serif;margin-bottom:4px}
.photo-row figcaption span{font-size:13px;color:var(--ink-dim)}
.pos-cta{text-align:center;background:linear-gradient(135deg,var(--navy-deep),#0b4f49);color:#fff;border-radius:28px;padding:60px 32px;box-shadow:var(--shadow-lg)}
.pos-cta h2{font:800 clamp(26px,3.4vw,38px)/1.15 Sora,sans-serif;letter-spacing:-.02em;max-width:760px;margin:0 auto}
.pos-cta p{color:#ffffffb3;margin:14px auto 28px;max-width:560px}
.pos-cta .btn-ghost{background:transparent;color:#fff;border-color:#ffffff4d}
.pos-cta .work-actions{justify-content:center}
.photo-credit{font-size:11px;color:var(--ink-dim);text-align:center;margin-top:18px}
@media (width<=1000px){.feature-grid{grid-template-columns:1fr 1fr}}
@media (width<=900px){.pos-hero .wrap{grid-template-columns:1fr}.photo-row{grid-template-columns:1fr 1fr}}
@media (width<=640px){.feature-grid,.photo-row{grid-template-columns:1fr}.pos-cta{padding:44px 20px;border-radius:20px}.float-chip.two{display:none}}

.pos-band .pos-screen{grid-template-columns:1.1fr 1fr}
.pos-band .pos-pay span{font-size:10.5px}
