:root{--navy:#08295f;--navy2:#061d43;--orange:#ff6a00;--gold:#a66a24;--ink:#14233c;--muted:#65738b;--line:#e6ebf2;--soft:#f6f8fb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.top{height:112px;padding:0 4.5vw;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:30}.brand{display:flex;align-items:center;gap:24px;min-width:390px}.brand img{width:180px;height:auto;display:block}.brand span{border-left:1px solid #cfd6df;padding-left:24px;letter-spacing:6px;font-size:14px;font-weight:700;color:#7b8aa3;white-space:nowrap}.top nav{margin-left:auto;display:flex;gap:28px;font-size:14px;font-weight:700;color:#273a59}.top nav a:hover{color:var(--orange)}.quote,.primary{background:var(--orange);color:#fff;border-radius:999px;padding:15px 23px;font-weight:800;display:inline-block}.menu{display:none}.hero{min-height:570px;position:relative;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('assets/hero-restaurant.png') center/cover no-repeat;opacity:.88;transform:scale(1.01)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 34%,rgba(255,255,255,.68) 48%,rgba(255,255,255,.16) 67%,rgba(255,255,255,.04) 100%)}.hero-copy{position:relative;z-index:3;width:min(720px,48vw);margin-left:4.5vw}.hero-brand-cluster{position:absolute;z-index:2;right:4.5vw;top:50%;transform:translateY(-50%);width:min(470px,34vw);display:flex;justify-content:center;align-items:center;pointer-events:none}.hero-brand-cluster img{display:block;width:100%;height:auto;filter:none;opacity:1}.eyebrow{font-size:13px;letter-spacing:2.2px;font-weight:900;color:var(--orange);margin:0 0 12px}.hero h1{font-size:62px;line-height:1.02;letter-spacing:-2.8px;color:var(--navy2);margin:0 0 22px}.hero h1 span{color:var(--navy)}.lead{font-size:20px;line-height:1.6;color:#485b76;max-width:690px}.actions{display:flex;gap:12px;margin-top:28px}.secondary{border:1px solid #b8c3d1;border-radius:999px;padding:14px 22px;font-weight:800;background:#fff}.trust{margin-top:38px;display:flex;gap:18px;font-size:13px;color:#52637d}.section{padding:82px 5vw}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.section h2{font-size:44px;letter-spacing:-1.5px;color:var(--navy2);margin:0}.section-head p{max-width:620px;color:var(--muted);line-height:1.6}.product-grid,.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(8,41,95,.06)}.visual{height:230px;background:#e9edf2;overflow:hidden;position:relative}.visual img{width:100%;height:100%;object-fit:cover;filter:none;transition:.35s}.card:hover .visual img{transform:scale(1.025)}.visual.placeholder{background:linear-gradient(135deg,#dce3eb,#f6f8fb);display:grid;place-items:center;color:#8c99aa;font-weight:800;letter-spacing:1px}.card-body{padding:20px 20px 22px}.card h3{margin:0 0 7px;color:var(--navy);font-size:21px}.card p{margin:0 0 14px;color:#5e6d84;line-height:1.5}.link{font-weight:900;color:var(--navy)}.link b{color:var(--orange);margin-left:6px}.cafe-collage{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;background:#f5f5f5}.cafe-collage img{object-fit:contain;background:#fff;padding:7px}.solutions{background:var(--soft)}.solution-grid .visual{height:210px}.solution-grid .card-body{min-height:180px}.brands{padding-top:65px;padding-bottom:65px}.brand-row{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.brand-tile{height:105px;display:flex;align-items:center;justify-content:center;padding:12px}.brand-tile img{max-width:100%;max-height:78px;object-fit:contain}.why{background:var(--navy2);color:#fff}.why h2{color:#fff}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.why-item{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:24px;background:rgba(255,255,255,.04)}.why-item b{display:block;font-size:19px;margin-bottom:8px}.why-item span{color:#c6d2e3;line-height:1.5}.cta{padding:75px 5vw;text-align:center;background:linear-gradient(120deg,#fff7f0,#f5f8fc)}.cta h2{font-size:43px;color:var(--navy2);margin:5px auto 12px}.cta p{color:#627188}.footer{padding:45px 5vw;background:#071a38;color:#c7d2e3;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer img{width:180px}.footer b{color:#fff}.footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}.quote-page{background:var(--soft);min-height:100vh}.form-wrap{max-width:980px;margin:0 auto;padding:60px 24px 90px}.form-wrap h1{font-size:50px;color:var(--navy2);margin:8px 0}.form-wrap .intro{color:#617087;line-height:1.6}.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;margin-top:28px;box-shadow:0 12px 40px rgba(8,41,95,.07)}.step{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.step:first-child{border:0;padding-top:0;margin-top:0}.step h3{color:var(--navy);font-size:21px}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check{border:1px solid #dbe2eb;border-radius:12px;padding:13px;display:flex;gap:10px;align-items:center}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:13px;font-weight:800;color:#3b4c65}input,select,textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #cfd8e4;border-radius:10px;font:inherit;background:#fff}textarea{min-height:145px;resize:vertical}.full{grid-column:1/-1}.submit{border:0;cursor:pointer;font-size:16px}.note{font-size:12px;color:#7b8798;margin-top:12px}.success{display:none;padding:18px;border-radius:12px;background:#effaf3;color:#24613a;margin-top:18px}
@media(max-width:1000px){.top{height:90px}.brand{min-width:0}.brand img{width:145px}.brand span{display:none}.top nav{display:none}.menu{display:block;margin-left:auto;border:0;background:none;font-size:24px}.quote{display:none}.hero h1{font-size:48px}.product-grid,.solution-grid{grid-template-columns:repeat(2,1fr)}.brand-row{grid-template-columns:repeat(4,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.top{padding:0 20px}.brand img{width:150px}.hero{min-height:600px}.hero-copy{margin:0 24px}.hero h1{font-size:40px;letter-spacing:-1.6px}.lead{font-size:17px}.actions,.trust{flex-wrap:wrap}.section{padding:60px 20px}.section-head{display:block}.section h2,.cta h2{font-size:35px}.product-grid,.solution-grid,.why-grid{grid-template-columns:1fr}.brand-row{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr}.fields,.checks{grid-template-columns:1fr}.form-wrap h1{font-size:39px}}
/* Quote option alignment */
.check{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:12px;min-height:68px;padding:14px 18px;text-align:left}
.check input[type="checkbox"]{width:18px;height:18px;margin:0;justify-self:center;accent-color:var(--orange)}
.phone-entry{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(170px,1.2fr);gap:8px;margin-top:6px}.phone-entry select,.phone-entry input{margin-top:0}.phone-entry .custom-code{display:none;grid-column:1/-1}.field-help{display:block;margin-top:7px;color:#7b8798;font-size:11px;font-weight:500;line-height:1.4}@media(max-width:650px){.phone-entry{grid-template-columns:1fr 1.2fr}}

.quote-address{max-width:1180px;margin:0 auto;padding:28px 24px 40px;color:#536274;font-size:14px;line-height:1.7;border-top:1px solid #e5e9ef}.quote-address strong{color:#10233f}.quote-address span{color:#6c7888}

@media(max-width:1000px){.hero-copy{width:min(620px,58vw);margin-left:4vw}.hero-brand-cluster{right:2.5vw;width:min(390px,36vw)}.hero:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 43%,rgba(255,255,255,.52) 62%,rgba(255,255,255,.08) 100%)}}
@media(max-width:650px){.hero{align-items:flex-start;padding-top:58px;padding-bottom:270px}.hero-copy{width:auto;margin:0 24px}.hero:before{background-position:62% center;opacity:.76}.hero:after{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 52%,rgba(255,255,255,.52) 72%,rgba(255,255,255,.12) 100%)}.hero-brand-cluster{top:auto;bottom:26px;right:50%;transform:translateX(50%);width:min(330px,82vw);opacity:.9}}


/* V9.3.3 mobile homepage fix */
.hero::before,.hero::after{pointer-events:none}
@media(max-width:650px){
  .top{height:82px;padding:0 20px}
  .brand img{width:150px}
  .menu{position:relative;z-index:42;cursor:pointer;color:var(--navy);padding:10px;font-size:0}
  .menu::after{content:"☰";font-size:28px;line-height:1}
  .top.mobile-open .menu::after{content:"×";font-size:34px}
  .top nav{position:absolute;top:82px;left:0;right:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(8,41,95,.12);padding:10px 20px 18px;display:none;flex-direction:column;gap:0;z-index:41}
  .top.mobile-open nav{display:flex}
  .top nav a{padding:13px 4px;border-bottom:1px solid #eef1f5;font-size:15px}
  .top nav a:last-child{border-bottom:0}

  .hero{min-height:0;display:block;padding:38px 0 0;overflow:hidden;background:#fff}
  .hero-copy{width:auto;margin:0;padding:0 24px 32px;position:relative;z-index:4}
  .hero h1{font-size:39px;line-height:1.04;letter-spacing:-1.5px;margin-bottom:18px}
  .lead{font-size:17px;line-height:1.55}
  .actions{gap:10px;margin-top:24px}
  .actions .primary,.actions .secondary{padding:14px 19px}
  .trust{margin-top:28px;gap:10px 16px;line-height:1.35}

  .hero:before{inset:auto 0 0;height:310px;background-position:64% center;opacity:.9;transform:none;z-index:0}
  .hero:after{inset:auto 0 0;height:310px;background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.03) 28%,rgba(0,0,0,.04) 100%);z-index:1}
  .hero-brand-cluster{position:relative;top:auto;right:auto;bottom:auto;transform:none;width:min(330px,82vw);height:310px;margin:0 auto;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none}
  .hero-brand-cluster img{width:100%;max-height:270px;object-fit:contain;opacity:.9}
}

/* V9.3.5 clean split hero — full-colour POS image, no overlays */
.hero{height:520px;min-height:520px;display:grid;grid-template-columns:55% 45%;align-items:stretch;background:#fff;overflow:hidden}
.hero::before,.hero::after{content:none!important;display:none!important}
.hero-copy{position:relative;z-index:2;width:auto;max-width:820px;margin:0;padding:42px 4.5vw;align-self:center}
.hero-media{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;background:#fff}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;filter:none;opacity:1}
.hero-brand-cluster{display:none!important}
@media(max-width:1000px){
  .hero{height:500px;min-height:500px;grid-template-columns:56% 44%}
  .hero-copy{width:auto;margin:0;padding:34px 4vw}
  .hero h1{font-size:46px}
  .lead{font-size:18px}
}
@media(max-width:650px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:0;background:#fff;overflow:visible}
  .hero-copy{order:1;width:100%;max-width:none;margin:0;padding:34px 24px 30px}
  .hero h1{font-size:39px;line-height:1.04;letter-spacing:-1.5px;margin-bottom:18px}
  .lead{font-size:17px;line-height:1.55}
  .actions{gap:10px;margin-top:24px}
  .actions .primary,.actions .secondary{padding:14px 19px}
  .hero-media{order:2;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;background:#fff}
  .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
}

/* V9.3.7 — preserve original uploaded image colours */
img,
.visual img,
.hero-media img,
.cafe-collage img,
.brand-tile img {
  filter: none !important;
  opacity: 1 !important;
}

/* V9.3.8 — ORIGINAL IMAGE COLOURS */
.hero-media img,
.visual img,
.cafe-collage img,
.solution-grid img,
.product-grid img,
.card img {
  filter: none !important;
  opacity: 1 !important;
}
