/* ============================================================
   Home hero — restaurant terminal: centred headline over a real restaurant photo,
   dual-screen POS terminal on a wooden counter, gold "Book a demo" pill.
   ============================================================ */
.cafe-hero{padding:0 !important;}
.cafe-hero::before{background:linear-gradient(180deg,#0B1411,#0F1A16) !important;}
.ch-bg{position:absolute;inset:-20px;z-index:-1;background-size:cover;background-position:center 40%;filter:blur(3px) brightness(.5) saturate(1.05);opacity:0;transform:scale(1.04);transition:opacity 1.2s ease;animation:ch-kb 30s ease-in-out infinite alternate;}
.ch-bg.ld{opacity:1;}
@keyframes ch-kb{to{transform:scale(1.12) translate(-1%,-1%);}}
.ch-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 55% at 50% 35%,rgba(0,0,0,0),rgba(0,0,0,.45) 100%),linear-gradient(180deg,rgba(5,10,8,.55) 0%,rgba(5,10,8,.15) 35%,rgba(5,10,8,.2) 70%,rgba(5,10,8,.75) 100%);}
.ch-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:44px;}
.ch-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:24px;letter-spacing:.06em;color:#fff;}
.ch-brand span{color:#E7CF6A;}
.ch-h1{margin:18px 0 0;display:flex;flex-direction:column;align-items:center;line-height:1;text-transform:uppercase;letter-spacing:.01em;}
.ch-h1 .l1{font-size:clamp(24px,3.6vw,52px);font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.45);}
.ch-h1 .l2{font-size:clamp(48px,8vw,116px);font-weight:800;color:#fff;margin-top:6px;letter-spacing:-.01em;text-shadow:0 6px 30px rgba(0,0,0,.5);}
.ch-h1 em{font-style:normal;background:linear-gradient(180deg,#FBEFC9 0%,#E7CF6A 40%,#B88E2F 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 22px rgba(201,168,76,.35));}
.ch-lede{max-width:580px;margin:18px auto 0;font-size:16.5px;line-height:1.6;color:#DCE4E0;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.ch-stage{position:relative;width:100%;height:auto;perspective:none;}
.ch-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:6px;position:relative;z-index:4;}
.ch-pill{border-radius:999px !important;padding:15px 30px !important;text-transform:uppercase;letter-spacing:.05em;font-size:14px !important;}
.ch-trust{justify-content:center;margin:14px 0 30px;color:#C9D4CF;}
.cafe-hero .lux-dock{margin-top:0;padding-bottom:36px;}

/* ---------- the terminal ---------- */
.pt-wrap{position:relative;width:min(760px,100%);height:480px;margin:6px auto 0;}
.pt-device{position:absolute;left:50%;bottom:56px;width:560px;height:410px;transform:translateX(-50%);transform-origin:bottom center;}
.pt-screen{position:absolute;left:0;top:0;width:472px;height:302px;border-radius:22px;padding:11px;z-index:3;
  background:linear-gradient(145deg,#2B302E,#0A0C0B 45%,#191D1B);border:1px solid #303634;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 40px 70px -20px rgba(0,0,0,.9);
  transform:perspective(1500px) rotateX(9deg) rotateY(-15deg) rotateZ(-1.5deg);transform-origin:bottom center;}
.pt-screen::after{content:"";position:absolute;inset:11px;border-radius:13px;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 32%);pointer-events:none;}
.pt-ui{width:100%;height:100%;border-radius:13px;background:#111614;overflow:hidden;display:flex;flex-direction:column;}
.pt-top{display:flex;gap:6px;align-items:center;padding:7px 9px;background:#181D1B;font-size:8.5px;color:#9AA8A3;}
.pt-search{flex:1;display:flex;align-items:center;gap:5px;background:#232927;border-radius:6px;padding:4px 7px;}
.pt-search .lc{width:10px;height:10px;}
.pt-chip{background:#232927;border-radius:6px;padding:4px 7px;color:#DCE4E0;font-weight:700;}
.pt-checkout{background:linear-gradient(180deg,#E7CF6A,#C9A84C);color:#1C1606;border-radius:6px;padding:4px 8px;font-weight:800;}
.pt-body{flex:1;display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding:8px;min-height:0;}
.pt-cats span{display:block;background:#F3F5F4;color:#1E2422;border-radius:6px;font-size:7.5px;font-weight:700;padding:5px 7px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pt-cats span.on{background:linear-gradient(180deg,#F1DC85,#C9A84C);color:#1C1606;}
.pt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-content:start;}
.pt-tile{background:#232927;border-radius:8px;overflow:hidden;font-size:7.5px;color:#EEF2F0;transition:transform .35s cubic-bezier(.2,.9,.3,1.3),box-shadow .35s;animation:pp-in .6s both;animation-delay:calc(var(--i) * 80ms + 600ms);}
.pt-tile img{width:100%;height:44px;object-fit:cover;display:block;opacity:0;transition:opacity .5s;}
.pt-tile img.ld{opacity:1;}
.pt-tn{padding:4px 5px 0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pt-tp{padding:1px 5px 5px;color:#E7CF6A;font-weight:800;}
.pt-tile.tap{transform:scale(1.08);box-shadow:0 0 0 2px #E7CF6A,0 10px 22px rgba(0,0,0,.55);}
.pt-rear{position:absolute;right:6px;top:52px;width:210px;height:250px;border-radius:20px;padding:10px;z-index:1;
  background:linear-gradient(160deg,#2C312F,#0C0E0D);box-shadow:0 30px 50px -16px rgba(0,0,0,.85);transform:perspective(1200px) rotateY(30deg) rotateZ(2deg);}
.pt-rear-screen{height:100%;border-radius:11px;background:linear-gradient(180deg,#14201C,#0C1310);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:16px 14px;color:#fff;}
.pt-rear-screen small{font-size:9px;color:#9AA8A3;} .pt-rear-screen b{font-size:22px;color:#E7CF6A;} .pt-rear-screen span{font-size:9px;color:#C9D4CF;}
.pt-neck{position:absolute;left:150px;top:270px;width:170px;height:62px;z-index:2;background:linear-gradient(90deg,#121514,#2D3230 50%,#121514);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);}
.pt-base{position:absolute;left:58px;bottom:0;width:350px;height:96px;z-index:2;border-radius:30px 30px 18px 18px;
  background:linear-gradient(180deg,#2E3331 0%,#151918 55%,#0B0D0C 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 34px 40px -12px rgba(0,0,0,.85);}
.pt-logo{position:absolute;left:50%;top:24px;transform:translateX(-50%);font-weight:800;font-size:24px;letter-spacing:.08em;color:#E9DCB0;text-shadow:0 1px 0 rgba(0,0,0,.6);}
.pt-logo i{font-style:normal;color:#E7CF6A;}
.pt-led{position:absolute;left:26px;bottom:18px;width:17px;height:17px;border-radius:50%;border:2.5px solid #3FB28F;box-shadow:0 0 14px #3FB28F,inset 0 0 6px #3FB28F;animation:pt-led 2.6s ease-in-out infinite;}
@keyframes pt-led{50%{box-shadow:0 0 22px 3px #3FB28F,inset 0 0 8px #3FB28F;}}
.pt-ports{position:absolute;right:26px;bottom:22px;}
.pt-ports i{display:inline-block;width:13px;height:4px;background:#050606;border-radius:2px;margin-left:5px;}
.pt-arch{position:absolute;right:66px;bottom:0;width:190px;height:240px;z-index:0;border-radius:30px 30px 12px 12px;background:linear-gradient(160deg,#2A2E2C,#0B0D0C);clip-path:polygon(28% 0,64% 0,100% 100%,0 100%);}
.pt-table{position:absolute;left:-60vw;right:-60vw;bottom:0;height:96px;z-index:0;border-top:1px solid rgba(255,220,170,.18);
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 23px),repeating-linear-gradient(91deg,rgba(255,220,180,.05) 0 1px,transparent 1px 7px),linear-gradient(180deg,#8C5C33 0%,#6E4524 45%,#3E2612 100%);
  box-shadow:inset 0 14px 26px rgba(0,0,0,.35);}
.pt-wrap::after{content:"";position:absolute;left:50%;bottom:44px;width:420px;height:30px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.65),transparent);z-index:1;}
.pt-float{position:absolute;z-index:5;display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:16px;text-align:left;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);box-shadow:0 18px 36px -14px rgba(0,0,0,.6);animation:lx-float 6s ease-in-out infinite;}
.pt-float .lc{width:22px;height:22px;color:#7FE0BE;}
.pt-float b{display:block;font-size:12.5px;}
.pt-float span{font-size:11px;color:#C9D4CF;}
.pt-float.f1{left:-30px;top:120px;}
.pt-float.f2{right:-24px;top:40px;animation-delay:-3s;}
.pt-float.f2 .lc{color:#E7CF6A;}
@media (max-width:820px){
  .pt-wrap{height:400px;}
  .pt-device{transform:translateX(-50%) scale(.78);}
  .pt-float.f1{left:0;top:auto;bottom:118px;}
  .pt-float.f2{right:0;top:6px;}
}
@media (max-width:560px){
  .ch-inner{padding-top:30px;}
  .pt-wrap{height:300px;}
  .pt-device{transform:translateX(-50%) scale(.56);bottom:40px;}
  .pt-table{height:72px;}
  .pt-wrap::after{bottom:30px;width:260px;}
  .pt-float{padding:8px 10px;}
  .pt-float b{font-size:11px;}
  .pt-float span{display:none;}
  .pt-float.f1{bottom:84px;}
  .ch-pill{padding:13px 22px !important;}
}
@media (max-width:380px){ .pt-device{transform:translateX(-50%) scale(.5);} }
@media (prefers-reduced-motion:reduce){ .ch-bg,.pt-led,.pt-float{animation:none !important;} }
.pt-device{z-index:2;bottom:64px;}
.pt-table{z-index:0;}
@media (max-width:560px){ .pt-device{bottom:46px;} }
