:root {
  --navy:#0f2a3a;
  --green:#0e7a4a;
  --bright:#22c55e;
  --surface:#f1f8f4;
  --cream:#fffbea;
  --ink:#15323e;
  --muted:#5e6f73;
  --line:#dce5df;
  --white:#fff;
  --radius:18px;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--navy);
  background:#fdfefb;
  font-synthesis:none;
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  color:inherit;
}
button:disabled {
  cursor:not-allowed;
}
img {
  max-width:100%;
  height:auto;
}
button,a,summary {
  touch-action:manipulation;
}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--green);
  outline-offset:5px;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  letter-spacing:-.05em;
}
p {
  line-height:1.7;
}
button {
  border:0;
}
ul {
  padding:0;
  list-style:none;
}
figure {
  margin:0;
}
[hidden] {
  display:none!important;
}
.container {
  width:min(1280px,calc(100% - 96px));
  margin-inline:auto;
}
.section {
  padding-block:112px;
}
.eyebrow {
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.5;
  color:var(--green);
  display:flex;
  align-items:center;
  gap:12px;
}
.green-line {
  width:28px;
  height:2px;
  background:var(--green);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:var(--green);
  color:white;
  padding:19px 25px;
  border:1px solid transparent;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  transition:background .2s,transform .2s;
}
.button:hover {
  background:#09633b;
  transform:translateY(-2px);
}
.button span {
  font-size:19px;
  font-weight:400;
}
.button-small {
  padding:12px 20px;
  font-size:12px;
}
.text-button {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 0;
  background:none;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.text-button:hover,.inline-link:hover {
  color:var(--green);
}
.inline-link {
  display:inline-flex;
  gap:20px;
  align-items:center;
  padding:7px 0;
  background:none;
  border-bottom:1px solid #9bb5a8;
  font-size:13px;
  font-weight:700;
  text-align:left;
}
.inline-link span {
  font-size:18px;
}
.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:50;
  background:var(--navy);
  color:white;
  padding:15px;
}
.skip-link:focus {
  top:10px;
}
.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  background:var(--green);
  border-radius:50%;
  flex-shrink:0;
}
.site-header {
  background:#fdfefbf5;
  border-bottom:1px solid #e5ebe5;
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(16px);
}
.nav-wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:96px;
  gap:24px;
}
.brand {
  display:block;
  flex-shrink:0;
  width:217px;
}
.brand img {
  display:block;
  width:100%;
}
.nav-wrap nav {
  display:flex;
  align-items:center;
  gap:29px;
}
.nav-wrap nav>a:not(.button) {
  font-size:12px;
  font-weight:600;
  padding:12px 0;
}
.nav-wrap nav>a:not(.button):hover {
  color:var(--green);
}
.menu-toggle {
  display:none;
}
.hero {
  display:grid;
  grid-template-columns:.95fr 1.1fr;
  align-items:center;
  gap:24px;
  min-height:680px;
  padding-block:60px 64px;
}
.hero-copy {
  position:relative;
  z-index:2;
}
.hero h1 {
  font-size:clamp(56px,5.7vw,84px);
  line-height:1.04;
  letter-spacing:-.065em;
  font-weight:750;
  margin-top:24px;
}
.hero h1>span {
  color:var(--green);
}
.hero-description {
  max-width:425px;
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
  margin-top:27px;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:31px;
  align-items:center;
}
.hero-actions>.button {
  padding-inline:21px;
  gap:15px;
}
.play-icon {
  border:1px solid #aec3b4;
  display:grid;
  place-items:center;
  border-radius:50%;
  width:25px;
  height:25px;
  font-size:14px;
}
.preview-note {
  font-size:10px;
  color:#576c65;
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:30px;
  width:fit-content;
  line-height:1.6;
}
.hero-art {
  position:relative;
  min-width:0;
  height:550px;
  isolation:isolate;
}
.art-grid {
  position:absolute;
  inset:0 0 30px 25px;
  background-color:#eaf2e7;
  background-image:radial-gradient(#b4cbbb 1px,transparent 1px);
  background-size:19px 19px;
  border-radius:130px 18px 18px 18px;
  z-index:-2;
  overflow:hidden;
}
.art-grid:after {
  content:"";
  position:absolute;
  border:1px solid #cbdac8;
  border-radius:50%;
  width:470px;
  height:470px;
  left:100px;
  top:-70px;
}
.art-caption {
  position:absolute;
  left:64px;
  top:29px;
  font-size:9px;
  letter-spacing:.15em;
  display:flex;
  align-items:center;
  gap:8px;
  color:#4b6860;
}
.tiny-square {
  width:6px;
  height:6px;
  background:var(--green);
}
.pos-terminal {
  position:absolute;
  top:145px;
  left:6px;
  width:100%;
  max-width:590px;
  transform:rotate(-5deg);
  filter:drop-shadow(0 25px 20px #123d3029);
}
.screen-frame {
  position:relative;
  background:#163645;
  padding:12px;
  border-radius:17px;
  border:2px solid #3d5760;
  z-index:2;
  box-shadow:5px 6px 0 #09222e;
}
.terminal-neck {
  height:74px;
  background:linear-gradient(90deg,#244651,#345765 60%,#142d3b);
  width:100px;
  transform:skew(-10deg);
  margin:-4px auto 0;
}
.terminal-foot {
  height:15px;
  width:230px;
  background:#193746;
  border-radius:70% 20% 7px 9px;
  margin:-8px auto 0;
  transform:skew(-22deg);
  box-shadow:0 7px 0 #0c2633;
}
.floating-ticket {
  position:absolute;
  top:58px;
  right:-9px;
  z-index:3;
  background:#fffef9;
  box-shadow:0 16px 35px #16432b1c;
  border:1px solid #e0e8d9;
  border-radius:11px;
  width:239px;
  padding:17px;
  transform:rotate(5deg);
}
.ticket-top {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:7px;
  letter-spacing:.1em;
  border-bottom:1px solid #e6ebe0;
  padding-bottom:11px;
}
.ticket-top>.status-dot {
  margin-left:auto;
}
.kitchen-symbol {
  font-size:16px;
  color:var(--green);
}
.ticket-number {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.04em;
  margin-block:14px 11px;
}
.ticket-number>span {
  font-size:7px;
  font-weight:400;
  padding:5px 8px;
  background:#fff1cc;
  color:#805800;
  border-radius:4px;
  letter-spacing:0;
}
.floating-ticket p {
  font-size:10px;
}
.ticket-bottom {
  display:flex;
  justify-content:space-between;
  font-size:7px;
  color:#6b7a70;
  margin-top:17px;
}
.payment-label {
  display:flex;
  align-items:center;
  gap:12px;
  position:absolute;
  left:5px;
  bottom:66px;
  padding:15px 19px;
  background:#fff;
  border:1px solid #e0e6df;
  border-radius:10px;
  box-shadow:0 10px 25px #17402a12;
  transform:rotate(-4deg);
  z-index:3;
}
.contactless {
  font-size:20px;
  font-weight:bold;
  letter-spacing:-5px;
  width:27px;
  color:var(--green);
  transform:rotate(-25deg);
}
.payment-label div {
  display:flex;
  flex-direction:column;
  gap:5px;
}
.payment-label b {
  font-size:10px;
}
.payment-label small {
  font-size:8px;
  color:var(--muted);
}
.illustration-note {
  position:absolute;
  bottom:0;
  text-align:center;
  width:100%;
  font-size:9px;
  color:#6a7d72;
  line-height:1.4;
}
.industry-strip {
  background:var(--surface);
  border-block:1px solid #e3ebe2;
}
.industry-strip>.container {
  padding-block:30px;
  display:flex;
  align-items:center;
  gap:45px;
}
.industry-strip p {
  font-size:9px;
  letter-spacing:.1em;
  line-height:1.6;
  max-width:120px;
  color:#67766b;
}
.industry-strip>.container>div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  flex:1;
}
.industry-strip span {
  font-size:14px;
  font-weight:600;
  letter-spacing:-.025em;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:50px;
  margin-bottom:57px;
}
h2 {
  font-size:clamp(33px,3.5vw,48px);
  line-height:1.14;
  font-weight:700;
}
.section-heading h2 {
  margin-top:19px;
}
.section-heading>p {
  font-size:14px;
  max-width:343px;
  color:var(--muted);
}
.feature-columns {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
}
.feature-columns article {
  border-top:1px solid #c6d4c8;
  padding-top:22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.feature-number {
  font-size:9px;
  letter-spacing:.1em;
  color:#5e7267;
}
.feature-icon {
  font-size:29px;
  color:var(--green);
  margin-block:33px 18px;
  line-height:1;
}
.feature-columns h3 {
  font-size:23px;
  max-width:270px;
  line-height:1.25;
  letter-spacing:-.04em;
}
.feature-columns p {
  font-size:13px;
  color:var(--muted);
  margin-block:16px 20px;
}
.feature-columns .inline-link {
  margin-top:auto;
  font-size:12px;
}
.kitchen-section {
  background:var(--navy);
  color:#fff;
  padding-block:95px;
  overflow:hidden;
}
.kitchen-layout {
  display:grid;
  grid-template-columns:.85fr 1.2fr;
  align-items:center;
  gap:75px;
}
.light-eyebrow {
  color:#90ce9d;
}
.kitchen-copy h2 {
  margin-block:18px 24px;
}
.kitchen-copy>p:not(.eyebrow):not(.feature-qualification) {
  font-size:14px;
  color:#c2d0d1;
  line-height:1.8;
}
.check-list {
  margin-block:27px;
  display:flex;
  flex-direction:column;
  gap:14px;
  font-size:12px;
  line-height:1.5;
  color:#d9e5df;
}
.check-list li {
  position:relative;
  padding-left:24px;
}
.check-list li:before {
  content:"✓";
  position:absolute;
  left:0;
  color:#82d49b;
}
.button-light {
  background:#d9edc9;
  color:var(--navy);
  padding:15px 22px;
  font-size:12px;
}
.button-light:hover {
  background:#c5e1af;
}
.feature-qualification {
  color:#adbec0;
  font-size:10px;
  line-height:1.7;
  margin-top:23px;
  max-width:350px;
}
.kitchen-figure {
  min-width:0;
}
.kitchen-monitor {
  background:#fbfbf1;
  border:9px solid #284350;
  border-radius:14px;
  box-shadow:0 30px 60px #06192380;
  transform:perspective(1300px) rotateY(-8deg) rotateZ(1deg);
  color:var(--navy);
  overflow:hidden;
}
.kds-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:19px 16px;
  border-bottom:1px solid #dbe3d5;
  font-size:9px;
  gap:10px;
}
.kds-header strong {
  font-size:16px;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.kds-header strong span {
  color:var(--green);
}
.kds-header small {
  font-size:7px;
  margin-left:9px;
  letter-spacing:.1em;
}
.kds-header>span {
  color:#6c7f70;
  font-size:8px;
}
.kds-subheader {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 15px;
  font-size:11px;
}
.kds-subheader span {
  font-size:8px;
  color:var(--muted);
}
.kds-tickets {
  padding:0 13px 30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.kds-ticket {
  background:#fff;
  border:1px solid #dce5d6;
  border-radius:6px;
  overflow:hidden;
  min-height:218px;
  display:flex;
  flex-direction:column;
}
.kds-ticket-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 10px 10px;
}
.kds-ticket-head strong {
  font-size:21px;
  letter-spacing:-.05em;
}
.kds-ticket-head span {
  font-size:8px;
  color:#657569;
}
.kds-state {
  font-size:8px;
  margin:0 10px;
  padding:6px 8px;
  border-radius:3px;
}
.preparing {
  background:#fff0c5;
  color:#84631d;
}
.queued {
  background:#e8edf0;
  color:#405c6b;
}
.ready {
  background:#deeddb;
  color:#2f6b41;
}
.kds-ticket p {
  font-size:9px;
  padding:15px 10px 5px;
  line-height:1.7;
}
.kds-ticket small {
  font-size:7px;
  color:#6e7f71;
  padding:0 10px;
}
.kds-footer {
  display:flex;
  justify-content:space-between;
  padding:11px 10px;
  margin-top:auto;
  background:#f5f8f1;
  border-top:1px solid #e0e9db;
  font-size:8px;
}
.kds-bottom {
  border-top:1px solid #dbe3d5;
  display:flex;
  justify-content:space-between;
  padding:14px 16px;
  font-size:8px;
}
.kitchen-figure figcaption {
  font-size:9px;
  text-align:center;
  color:#a3b9bb;
  margin-top:22px;
}
.flow-caption {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:17px;
  font-size:10px;
  margin-top:30px;
  color:#b3c7c5;
}
.flow-caption i {
  font-style:normal;
  color:#63827a;
}
.flow-active {
  color:#c6e8b7;
}
.business-tabs {
  display:flex;
  border-bottom:1px solid var(--line);
  margin-bottom:35px;
}
.business-tabs button {
  flex:1;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:19px 12px;
  color:#61766b;
  font-size:12px;
  line-height:1.5;
  background:none;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  font-weight:500;
  gap:8px;
}
.business-tabs button[aria-selected=true] {
  color:var(--green);
  border-color:var(--green);
  font-weight:700;
}
.business-tabs button:hover {
  background:var(--surface);
}
.business-tabs button span {
  opacity:0;
}
.business-tabs button[aria-selected=true] span {
  opacity:1;
}
.business-panel {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  min-height:430px;
  background:#f0f5eb;
  border-radius:16px;
  overflow:hidden;
}
.business-panel-copy {
  padding:52px 55px;
}
.business-panel-copy h3 {
  font-size:35px;
  line-height:1.15;
  margin-block:17px;
}
.business-panel-copy>p:not(.eyebrow) {
  font-size:13px;
  color:#536b60;
  max-width:385px;
}
.business-benefits {
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-block:22px;
  font-size:12px;
  color:#385e47;
}
.business-benefits li:before {
  content:"↗";
  margin-right:10px;
}
.business-scene {
  position:relative;
  background:#e1ead7;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px;
  overflow:hidden;
}
.business-scene:before {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg,transparent 0 69px,#b5c9a52e 69px 70px),repeating-linear-gradient(0deg,transparent 0 69px,#b5c9a52e 69px 70px);
}
.scene-heading {
  position:absolute;
  top:24px;
  left:26px;
  right:26px;
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.11em;
  color:#4d6e50;
  gap:16px;
}
.menu-paper {
  position:relative;
  z-index:1;
  background:#fffef3;
  padding:29px 30px 20px;
  transform:rotate(-6deg);
  width:300px;
  max-width:100%;
  box-shadow:6px 13px 0 #bdd0ac5c,0 20px 50px #25452f17;
  margin-top:12px;
}
.menu-paper-top {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #b6c6ab;
  padding-bottom:24px;
  font-size:28px;
  letter-spacing:-.07em;
  font-weight:700;
}
.menu-paper-top>span:last-child {
  color:var(--green);
  font-size:27px;
}
.menu-row {
  display:flex;
  justify-content:space-between;
  padding:21px 0;
  border-bottom:1px solid #d8dfcd;
  font-size:13px;
  gap:12px;
}
.menu-row>span:last-child {
  font-size:9px;
  color:#829078;
}
.menu-paper-bottom {
  font-size:9px;
  margin-top:23px;
  color:#6d7b62;
}
.scene-tag {
  position:absolute;
  bottom:36px;
  right:27px;
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--green);
  padding:13px 18px;
  border-radius:5px;
  font-size:11px;
  color:white;
  transform:rotate(4deg);
  z-index:2;
}
.scene-tag>.status-dot {
  background:#b9ebaf;
}
.payments-section {
  background:#f7f8f3;
  padding-block:75px;
}
.payments-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:105px;
  align-items:center;
}
.payments-copy h2 {
  margin-block:18px 24px;
}
.payments-copy>p:not(.eyebrow) {
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
  margin-bottom:16px;
}
.integration-status {
  border-left:3px solid var(--green);
  padding:3px 0 4px 18px;
  margin-block:24px;
}
.status-label {
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--green);
}
.integration-status p {
  font-size:11px;
  color:#5a7065;
  margin-top:8px;
  line-height:1.8;
}
.payment-visual {
  position:relative;
  min-height:445px;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:flex-start;
  background:radial-gradient(ellipse at 50% 55%,#e3ebd8,transparent 68%);
}
.integration-line {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin-top:8px;
}
.integration-label {
  font-size:20px;
  font-weight:800;
  letter-spacing:-.07em;
}
.integration-label>span {
  color:var(--green);
}
.connection-dots {
  letter-spacing:4px;
  color:#9eb6a1;
}
.windcave-word {
  font-size:20px;
  font-weight:bold;
  letter-spacing:-.04em;
  color:#36434b;
}
.payment-device {
  position:relative;
  border:3px solid #3a5059;
  border-radius:24px 24px 36px 36px;
  background:linear-gradient(110deg,#1b3946,#284a56);
  width:172px;
  height:289px;
  padding:17px;
  margin-top:38px;
  transform:rotate(-12deg);
  box-shadow:6px 7px 0 #0b2533,12px 25px 35px #15332826;
}
.device-speaker {
  height:3px;
  background:#67808a;
  width:40px;
  margin:0 auto 12px;
  border-radius:10px;
}
.device-screen {
  background:#eef6e8;
  min-height:144px;
  border-radius:4px;
  display:flex;
  align-items:center;
  flex-direction:column;
  padding:13px 4px;
}
.device-screen>small {
  font-size:7px;
  letter-spacing:.08em;
  color:#536b58;
}
.device-screen>strong {
  font-size:29px;
  letter-spacing:-.06em;
  margin-top:10px;
}
.device-contactless {
  font-size:22px;
  font-weight:700;
  letter-spacing:-5px;
  transform:rotate(-25deg);
  margin:9px 5px 10px 0;
  color:var(--green);
}
.device-screen>span {
  font-size:6px;
  color:#526d55;
}
.device-keypad {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-top:13px;
}
.device-keypad i {
  height:14px;
  background:#45616b;
  border-radius:4px;
}
.device-keypad .key-red {
  background:#bd6b63;
}
.device-keypad .key-yellow {
  background:#b7a76a;
}
.device-keypad .key-green {
  background:#6eaa83;
}
.payment-stamp {
  font-size:12px;
  line-height:1.65;
  color:#627467;
  margin-top:29px;
  text-align:center;
}
.payment-stamp b {
  font-weight:500;
  color:#224b34;
}
.faq-section {
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:100px;
}
.faq-section h2 {
  margin-block:18px 22px;
  font-size:40px;
}
.faq-section>div>p:not(.eyebrow) {
  font-size:13px;
  color:var(--muted);
  max-width:300px;
}
.faq-list details {
  border-bottom:1px solid var(--line);
  padding:23px 0;
}
.faq-list details:first-child {
  border-top:1px solid var(--line);
}
summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  cursor:pointer;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
}
summary::-webkit-details-marker {
  display:none;
}
summary span {
  font-weight:400;
  font-size:22px;
  color:var(--green);
  transition:transform .2s;
}
details[open] summary span {
  transform:rotate(45deg);
}
.faq-list details p {
  font-size:12px;
  color:var(--muted);
  line-height:1.9;
  padding:17px 30px 0 0;
}
.contact-section {
  background:#e8f0dd;
  padding:54px 58px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  position:relative;
}
.contact-section h2 {
  font-size:39px;
  margin-block:15px 13px;
}
.contact-section p:not(.eyebrow) {
  font-size:13px;
  color:#5a6d53;
  max-width:450px;
}
.contact-actions {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  flex-shrink:0;
}
.contact-actions>.button {
  min-width:190px;
}
.contact-email {
  font-size:11px;
  border-bottom:1px solid #b5c4a8;
  padding-bottom:3px;
}
.email-hint {
  font-size:9px;
  color:#66765b;
}
.site-footer {
  padding-block:60px 28px;
}
.footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-bottom:30px;
}
.footer-top>.brand {
  width:185px;
}
.footer-top>p {
  font-size:12px;
  color:var(--muted);
}
.footer-top>div {
  display:flex;
  gap:22px;
  align-items:center;
  font-size:11px;
}
.footer-link {
  background:none;
  padding:8px 0;
  font-size:11px;
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:23px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  color:#6a7c73;
  line-height:1.7;
}
dialog {
  padding:0;
  border:1px solid #cad9cd;
  border-radius:18px;
  width:min(630px,calc(100% - 32px));
  max-height:calc(100dvh - 48px);
  background:#fdfefb;
  color:var(--navy);
  box-shadow:0 30px 100px #0a273a40;
}
dialog::backdrop {
  background:#092535a8;
  backdrop-filter:blur(6px);
}
.dialog-inner {
  padding:42px;
  position:relative;
}
.dialog-close {
  position:absolute;
  right:17px;
  top:13px;
  border-radius:50%;
  width:36px;
  height:36px;
  background:#eaf1e5;
  font-size:24px;
  display:grid;
  place-items:center;
  line-height:1;
}
.dialog-inner>h2 {
  font-size:31px;
  margin-block:15px;
}
.dialog-inner>p:not(.eyebrow) {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  margin-block:12px;
}
.demo-steps {
  list-style:none;
  margin:27px 0;
  padding:0;
  display:flex;
  gap:10px;
  font-size:10px;
}
.demo-steps li {
  flex:1;
  padding:11px 7px;
  background:#edf2e9;
  color:#526d5b;
  border-radius:4px;
  text-align:center;
}
.demo-steps li.current {
  background:var(--green);
  color:white;
}
.demo-content {
  background:#f1f6eb;
  border:1px solid #d5e1cd;
  border-radius:10px;
  padding:23px;
  min-height:235px;
}
.demo-state {
  font-size:9px;
  letter-spacing:.1em;
  color:var(--green);
  font-weight:700;
}
.demo-content h3 {
  font-size:24px;
  margin-block:10px;
}
.demo-content>p {
  font-size:12px;
  color:#536a5d;
  line-height:1.7;
}
.demo-order {
  margin-top:17px;
}
.demo-order>div {
  display:flex;
  justify-content:space-between;
  padding-block:8px;
  font-size:12px;
}
.demo-total {
  border-top:1px solid #cbdac4;
  margin-top:8px;
}
.demo-total b {
  font-size:18px;
}
.demo-actions {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-top:23px;
}
.demo-actions>.button {
  font-size:12px;
  padding:14px 19px;
}
.dialog-inner>.dialog-footnote {
  font-size:10px;
  color:#5b7061;
  margin-top:22px;
}
.demo-kitchen-ticket {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:18px;
  padding:15px;
  background:#fffdf4;
  border:1px solid #d6e2ca;
  border-radius:5px;
  font-size:11px;
}
.demo-kitchen-ticket>strong {
  font-size:18px;
}
.demo-kitchen-ticket>span:last-child {
  background:#deeddb;
  color:#25623c;
  padding:7px;
  align-self:start;
  border-radius:3px;
}
.noscript-banner {
  padding:16px;
  background:#f4f0db;
  text-align:center;
  font-size:12px;
}
.no-script-note {
  font-size:13px;
  padding-block:20px;
}
.contact-form {
  display:grid;
  gap:17px;
  margin-top:24px;
}
.contact-form label {
  display:grid;
  gap:7px;
  font-size:12px;
  font-weight:700;
}
.contact-form input,.contact-form select,.contact-form textarea {
  border:1px solid #bdcdbb;
  border-radius:5px;
  background:white;
  padding:11px 13px;
  min-width:0;
  width:100%;
  color:var(--navy);
  font-size:13px;
  line-height:1.5;
}
.contact-form textarea {
  resize:vertical;
  min-height:110px;
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.preview-form-note {
  background:#f3edd4;
  border-left:3px solid #9c854b;
  padding:12px 15px;
  font-size:12px;
  line-height:1.7;
  color:#625326;
}
.contact-form>.button {
  justify-self:start;
}
.form-status {
  font-size:12px;
  line-height:1.7;
  color:#385b45;
  min-height:20px;
}
.contact-form .form-helper {
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  font-weight:400;
}
.preview-form-note strong {
  display:block;
}
.form-honeypot {
  position:absolute;
  left:-10000px;
}
@media(min-width:1600px) {
  .hero {
    min-height:730px;
  }
  .hero-art {
    height:570px;
  }
  .pos-terminal {
    top:150px;
  }
  .floating-ticket {
    top:65px;
    right:0;
  }
}
@media(max-width:1150px) {
  .container {
    width:calc(100% - 64px);
  }
  .nav-wrap nav {
    gap:19px;
  }
  .brand {
    width:195px;
  }
  .hero {
    grid-template-columns:1fr 1.05fr;
    gap:20px;
    min-height:620px;
  }
  .hero h1 {
    font-size:64px;
  }
  .hero-description {
    font-size:14px;
  }
  .hero-art {
    height:480px;
  }
  .pos-terminal {
    top:137px;
  }
.catalogue {
    padding:11px 8px;
  }
.floating-ticket {
    width:210px;
    top:53px;
    right:-4px;
  }
  .payment-label {
    bottom:40px;
    left:3px;
  }
  .art-grid {
    bottom:20px;
  }
  .art-caption {
    left:55px;
    top:22px;
    font-size:8px;
  }
.basket-line {
    font-size:6px;
  }
.basket-bottom b {
    font-size:15px;
  }
.industry-strip>.container {
    gap:28px;
  }
  .industry-strip span {
    font-size:12px;
  }
  .industry-strip>.container>div {
    gap:18px;
  }
  .section {
    padding-block:85px;
  }
  .feature-columns {
    gap:30px;
  }
  .kitchen-layout {
    gap:35px;
  }
  .kds-header {
    padding:15px 12px;
  }
  .kds-header>span {
    font-size:6px;
  }
  .kds-header strong {
    font-size:13px;
  }
  .kds-tickets {
    gap:6px;
    padding:0 8px 22px;
  }
  .kds-ticket-head {
    padding:12px 7px;
  }
  .kds-ticket-head strong {
    font-size:18px;
  }
  .kds-state {
    margin-inline:7px;
    font-size:7px;
  }
  .kds-ticket p {
    padding-inline:7px;
    font-size:8px;
  }
  .kds-footer {
    padding-inline:7px;
    font-size:7px;
  }
  .kds-ticket {
    min-height:205px;
  }
  .business-panel-copy {
    padding:42px;
  }
  .payments-layout {
    gap:60px;
  }
  .faq-section {
    gap:60px;
  }
  .footer-top>p {
    display:none;
  }
  .contact-section {
    padding:43px;
  }
  .contact-section h2 {
    font-size:35px;
  }
}
@media(max-width:900px) {
  .nav-wrap {
    min-height:82px;
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:44px;
    height:44px;
    border:1px solid #cfddcf;
    border-radius:6px;
    background:transparent;
  }
  .menu-toggle span {
    height:2px;
    width:18px;
    background:var(--navy);
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(4px) rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-4px) rotate(-45deg);
  }
  .nav-wrap nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fdfefb;
    padding:20px 32px 28px;
    border-bottom:1px solid #c8d8c6;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    box-shadow:0 16px 20px #102a3612;
  }
  .nav-wrap nav.open {
    display:flex;
  }
  .nav-wrap nav>a:not(.button) {
    font-size:14px;
    padding:14px 0;
  }
  .nav-wrap nav>.button {
    margin-top:9px;
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:60px;
    gap:35px;
  }
  .hero-copy {
    max-width:620px;
  }
  .hero h1 {
    font-size:74px;
  }
  .hero-description {
    font-size:16px;
    max-width:440px;
  }
  .hero-actions {
    gap:20px;
  }
  .hero-art {
    height:535px;
    width:580px;
    max-width:100%;
    margin-inline:auto;
  }
  .pos-terminal {
    top:140px;
  }
.floating-ticket {
    width:235px;
    top:55px;
    right:0;
  }
  .payment-label {
    bottom:60px;
    left:7px;
  }
  .hero-actions .button {
    padding-block:17px;
  }
  .industry-strip>.container {
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }
  .industry-strip p {
    max-width:none;
  }
  .industry-strip>.container>div {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:18px 30px;
  }
  .industry-strip span {
    font-size:13px;
  }
  .section-heading {
    align-items:start;
    gap:30px;
  }
  .section-heading>p {
    max-width:290px;
    font-size:13px;
  }
  .section-heading h2 {
    font-size:36px;
  }
  .feature-columns {
    gap:25px;
  }
  .feature-columns h3 {
    font-size:20px;
  }
  .kitchen-layout {
    grid-template-columns:1fr;
    gap:45px;
  }
  .kitchen-copy {
    max-width:520px;
  }
  .kitchen-copy h2 {
    font-size:43px;
  }
  .kitchen-figure {
    max-width:600px;
    width:100%;
    margin-inline:auto;
  }
  .kds-header strong {
    font-size:16px;
  }
  .kds-header>span {
    font-size:9px;
  }
  .kds-ticket-head strong {
    font-size:23px;
  }
  .kds-ticket {
    min-height:230px;
  }
  .kds-ticket p {
    font-size:10px;
    padding:16px 10px;
  }
  .kds-ticket-head {
    padding:16px 10px;
  }
  .kds-footer {
    font-size:9px;
    padding:13px 10px;
  }
  .kds-state {
    font-size:9px;
    margin-inline:10px;
  }
  .kds-tickets {
    padding-inline:13px;
    gap:10px;
  }
  .kds-ticket small {
    font-size:9px;
  }
  .business-tabs {
    overflow:auto;
    scrollbar-width:thin;
    padding-bottom:2px;
  }
  .business-tabs button {
    white-space:nowrap;
    min-width:145px;
    padding-inline:14px;
    gap:22px;
  }
  .business-tabs button:nth-child(2) {
    min-width:220px;
  }
  .business-panel-copy {
    padding:38px 30px;
  }
  .business-panel-copy h3 {
    font-size:29px;
  }
  .business-panel {
    grid-template-columns:1fr 1fr;
  }
  .business-scene {
    padding:30px 20px;
  }
  .scene-heading>span:last-child {
    display:none;
  }
  .menu-paper {
    padding:25px 22px;
  }
  .menu-paper-top {
    font-size:24px;
  }
  .scene-tag {
    font-size:10px;
    padding:11px;
    right:12px;
  }
  .payments-layout {
    gap:35px;
  }
  .integration-line {
    gap:10px;
  }
  .integration-label,.windcave-word {
    font-size:17px;
  }
  .connection-dots {
    letter-spacing:1px;
  }
  .payments-copy h2 {
    font-size:35px;
  }
  .faq-section {
    grid-template-columns:1fr;
    gap:35px;
  }
  .faq-section>div>p:not(.eyebrow) {
    max-width:430px;
  }
  .faq-section h2 {
    font-size:36px;
  }
  .contact-section {
    padding:38px;
    gap:28px;
  }
  .contact-section h2 {
    font-size:31px;
  }
  .contact-section p:not(.eyebrow) {
    font-size:12px;
  }
  .contact-actions>.button {
    min-width:160px;
  }
  .footer-bottom {
    font-size:8px;
  }
}
@media(max-width:600px) {
  :root {
    scroll-padding-top:93px;
  }
  .container {
    width:calc(100% - 40px);
  }
  .nav-wrap {
    min-height:76px;
  }
  .brand {
    width:184px;
  }
  .hero {
    padding-block:43px 30px;
    gap:22px;
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:.13em;
  }
  .hero h1 {
    font-size:clamp(48px,12.5vw,70px);
    margin-top:22px;
  }
  .hero-description {
    font-size:14px;
    margin-top:20px;
    max-width:360px;
  }
  .hero-actions {
    margin-top:25px;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .hero-actions>.button {
    font-size:12px;
    padding:16px 19px;
    gap:19px;
  }
  .hero-actions>.text-button {
    font-size:12px;
  }
  .preview-note {
    margin-top:19px;
    font-size:9px;
    gap:7px;
  }
  .hero-art {
    height:420px;
    margin-top:8px;
  }
  .art-grid {
    inset:0 0 25px 9px;
    border-top-left-radius:100px;
  }
  .art-caption {
    left:38px;
    top:20px;
    font-size:7px;
    gap:6px;
  }
  .pos-terminal {
    width:100%;
    top:131px;
    left:0;
    transform:rotate(-5deg);
  }
  .screen-frame {
    padding:8px;
    border-radius:11px;
    border-width:1px;
    box-shadow:3px 4px 0 #09222e;
  }
.screen-top {
    padding:9px 7px;
  }
.screen-top>span {
    font-size:4px;
    gap:4px;
  }
.screen-label {
    font-size:9px;
  }
.category-pills span {
    padding:4px 6px;
  }
.product-tile {
    padding:5px;
    min-height:52px;
    gap:3px;
  }
.product-tile b {
    font-size:4.5px;
    white-space:nowrap;
  }
.basket {
    padding:10px 7px;
  }
.basket-title>span {
    font-size:5px;
  }
.basket-line b {
    font-size:5px;
  }
.basket-bottom>span {
    font-size:7px;
  }
.fake-pay {
    font-size:6px;
    padding:7px;
    margin-top:9px;
  }
  .terminal-neck {
    height:50px;
    width:70px;
  }
  .terminal-foot {
    width:170px;
    height:11px;
    box-shadow:0 5px 0 #0c2633;
  }
  .floating-ticket {
    top:45px;
    right:1px;
    width:190px;
    padding:12px;
    border-radius:9px;
    transform:rotate(5deg);
  }
  .ticket-top {
    font-size:6px;
    padding-bottom:8px;
  }
  .kitchen-symbol {
    font-size:12px;
  }
  .ticket-number {
    font-size:12px;
    margin-block:10px 8px;
  }
  .ticket-number>span {
    font-size:6px;
    padding:4px 6px;
  }
  .floating-ticket p {
    font-size:8px;
  }
  .ticket-bottom {
    font-size:6px;
    margin-top:11px;
  }
  .payment-label {
    padding:11px 12px;
    gap:8px;
    bottom:35px;
    left:0;
  }
  .payment-label b {
    font-size:8px;
  }
  .payment-label small {
    font-size:7px;
  }
  .contactless {
    font-size:17px;
  }
  .illustration-note {
    font-size:8px;
    bottom:0;
  }
  .industry-strip>.container {
    padding-block:23px;
    gap:16px;
  }
  .industry-strip p {
    font-size:8px;
  }
  .industry-strip>.container>div {
    gap:12px 20px;
  }
  .industry-strip span {
    font-size:11px;
  }
  .section {
    padding-block:63px;
  }
  .section-heading {
    flex-direction:column;
    gap:22px;
    margin-bottom:34px;
  }
  .section-heading h2 {
    font-size:33px;
    margin-top:15px;
  }
  .section-heading>p {
    max-width:100%;
    font-size:13px;
  }
  .feature-columns {
    grid-template-columns:1fr;
    gap:31px;
  }
  .feature-columns article {
    padding-top:19px;
  }
  .feature-number {
    font-size:8px;
  }
  .feature-icon {
    margin-block:22px 13px;
  }
  .feature-columns h3 {
    font-size:24px;
    max-width:290px;
  }
  .feature-columns p {
    font-size:13px;
    margin-block:13px 15px;
    max-width:380px;
  }
  .feature-columns .inline-link {
    font-size:12px;
  }
  .kitchen-section {
    padding-block:62px;
  }
  .kitchen-copy h2 {
    font-size:36px;
  }
  .kitchen-copy>p:not(.eyebrow):not(.feature-qualification) {
    font-size:13px;
  }
  .check-list {
    font-size:11px;
    gap:13px;
  }
  .feature-qualification {
    font-size:9px;
    max-width:100%;
  }
  .kitchen-layout {
    gap:34px;
  }
  .kitchen-monitor {
    border-width:6px;
    transform:none;
    border-radius:10px;
  }
  .kds-header {
    padding:13px 9px;
    gap:6px;
  }
  .kds-header strong {
    font-size:12px;
  }
  .kds-header small {
    font-size:6px;
    margin-left:5px;
  }
  .kds-header>span {
    font-size:6px;
  }
  .kds-subheader {
    font-size:10px;
    padding:16px 9px;
  }
  .kds-subheader span {
    font-size:7px;
  }
  .kds-tickets {
    padding:0 7px 17px;
    gap:6px;
  }
  .kds-ticket {
    min-height:186px;
    border-radius:4px;
  }
  .kds-ticket-head {
    padding:11px 7px;
    gap:4px;
  }
  .kds-ticket-head strong {
    font-size:19px;
  }
  .kds-ticket-head span {
    font-size:6px;
  }
  .kds-state {
    font-size:7px;
    margin-inline:6px;
    padding:6px;
  }
  .kds-ticket p {
    font-size:8px;
    padding:12px 6px 6px;
    line-height:1.7;
  }
  .kds-ticket small {
    font-size:6px;
    padding-inline:6px;
  }
  .kds-footer {
    font-size:6px;
    padding:10px 6px;
    gap:3px;
  }
  .kds-bottom {
    font-size:7px;
    padding:11px 9px;
  }
  .kitchen-figure figcaption {
    font-size:8px;
    margin-top:16px;
  }
  .flow-caption {
    font-size:8px;
    gap:10px;
    line-height:1.5;
    margin-top:23px;
  }
  .business-tabs {
    margin-bottom:24px;
  }
  .business-tabs button {
    font-size:11px;
    padding:15px 12px;
    min-width:128px;
  }
  .business-tabs button:nth-child(2) {
    min-width:205px;
  }
  .business-panel {
    grid-template-columns:1fr;
    border-radius:11px;
  }
  .business-panel-copy {
    padding:32px 27px;
  }
  .business-panel-copy h3 {
    font-size:32px;
  }
  .business-panel-copy>p:not(.eyebrow) {
    font-size:12px;
  }
  .business-benefits {
    font-size:11px;
    line-height:1.7;
  }
  .business-scene {
    min-height:380px;
    padding:55px 40px 45px;
  }
  .scene-heading>span:last-child {
    display:inline;
    font-size:7px;
  }
  .menu-paper {
    width:265px;
    padding:25px;
  }
  .menu-row {
    font-size:12px;
    padding-block:18px;
  }
  .menu-paper-top {
    font-size:26px;
    padding-bottom:18px;
  }
  .scene-tag {
    bottom:25px;
    right:24px;
    padding:12px 15px;
  }
  .payments-section {
    padding-block:58px;
  }
  .payments-layout {
    grid-template-columns:1fr;
    gap:30px;
  }
  .payment-visual {
    min-height:400px;
    grid-row:2;
  }
  .payments-copy h2 {
    font-size:36px;
  }
  .payments-copy>p:not(.eyebrow) {
    font-size:13px;
  }
  .integration-line {
    margin-top:15px;
    gap:17px;
  }
  .integration-label,.windcave-word {
    font-size:20px;
  }
  .integration-status p {
    font-size:11px;
  }
  .payment-device {
    margin-top:29px;
    height:276px;
  }
  .payment-stamp {
    font-size:11px;
    margin-top:26px;
  }
  .faq-section {
    gap:28px;
  }
  .faq-section h2 {
    font-size:33px;
  }
  .faq-list details {
    padding-block:21px;
  }
  summary {
    font-size:12px;
    gap:15px;
  }
  .faq-list details p {
    font-size:12px;
    padding-right:8px;
  }
  .contact-section {
    width:calc(100% - 40px);
    padding:34px 28px;
    flex-direction:column;
    align-items:flex-start;
    gap:26px;
    border-radius:11px;
  }
  .contact-section h2 {
    font-size:34px;
  }
  .contact-section p:not(.eyebrow) {
    font-size:12px;
  }
  .contact-actions {
    align-items:flex-start;
    gap:11px;
  }
  .contact-actions>.button {
    padding:15px 23px;
    min-width:160px;
  }
  .site-footer {
    padding-block:42px 25px;
  }
  .footer-top {
    flex-wrap:wrap;
    gap:30px;
    padding-bottom:24px;
  }
  .footer-top>.brand {
    width:180px;
  }
  .footer-top>div {
    width:100%;
    gap:25px;
    font-size:11px;
  }
  .footer-bottom {
    flex-direction:column;
    gap:10px;
    font-size:9px;
  }
  .dialog-inner {
    padding:32px 23px 25px;
  }
  .dialog-inner>h2 {
    font-size:27px;
    max-width:270px;
  }
  .dialog-inner>.eyebrow {
    padding-right:24px;
    font-size:8px;
  }
  .demo-steps {
    font-size:9px;
    gap:6px;
    margin-block:21px;
  }
  .demo-steps li {
    padding:9px 4px;
  }
  .demo-content {
    padding:18px;
    min-height:240px;
  }
  .demo-content h3 {
    font-size:21px;
  }
  .demo-actions {
    gap:10px;
  }
  .demo-actions>.button {
    font-size:11px;
    padding:13px 14px;
    gap:12px;
  }
  .demo-actions>.text-button {
    font-size:11px;
  }
  .form-row {
    grid-template-columns:1fr;
  }
  .contact-form label {
    font-size:11px;
  }
  .contact-form input,.contact-form select,.contact-form textarea {
    font-size:16px;
  }
}
@media(max-width:360px) {
  .container {
    width:calc(100% - 32px);
  }
  .hero h1 {
    font-size:46px;
  }
  .hero-art {
    height:400px;
  }
.product-tile b {
    font-size:4px;
  }
.floating-ticket {
    width:174px;
    top:49px;
  }
  .payment-label {
    bottom:25px;
  }
.kds-ticket-head strong {
    font-size:16px;
  }
  .kds-ticket-head span {
    font-size:5px;
  }
  .kds-ticket {
    min-height:177px;
  }
  .kds-ticket p {
    font-size:7px;
  }
  .kds-footer {
    font-size:5px;
  }
  .flow-caption {
    font-size:7px;
  }
  .scene-heading>span:last-child {
    display:none;
  }
  .contact-section {
    padding:30px 24px;
  }
  .dialog-inner {
    padding-inline:19px;
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
  .button:hover {
    transform:none;
  }
}
.dialog-open {
  overflow:hidden;
}
.footer-top>div>button {
  background:none;
  padding:8px 0;
  font-size:11px;
}
.footer-top>div>button:hover {
  color:var(--green);
}
@media(min-width:901px) and (max-width:1150px) {
  .hero-art {
    height:540px;
  }
  .pos-terminal {
    top:140px;
  }
}
@media(max-width:900px) {
  .hero {
    grid-template-columns:minmax(0,1fr);
  }
}
@media(max-width:600px) {
  .payments-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .payment-visual {
    min-width:0;
  }
}
@media(max-width:360px) {
  .integration-line {
    gap:10px;
  }
  .integration-label,.windcave-word {
    font-size:17px;
  }
  .connection-dots {
    font-size:12px;
  }
}
/* Current UnboundPOS checkout: fixed 4:3 composition, with synthetic products. */
.hero-art {
  height: 620px;
}
.pos-terminal {
  top: 65px;
  max-width: 600px;
  transform: rotate(-3deg);
}
.screen-frame {
  container-type: inline-size;
  padding: 10px;
}
.checkout-ui {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: grid;
  grid-template-rows: 47.4% 6% minmax(0, 1fr);
  gap: .7cqw;
  padding: .6cqw;
  background: #fffbea;
  color: #0f2a3a;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1.3cqw;
  line-height: 1.15;
  border-radius: .5cqw;
  overflow: hidden;
}
.checkout-top {
  display: grid;
  grid-template-columns: minmax(0, 54fr) minmax(0, 46fr);
  gap: .8cqw;
  min-height: 0;
}
.checkout-sale, .checkout-controls {
  background: white;
  border: .13cqw solid #6b8375;
  border-radius: .8cqw;
  min-width: 0;
  overflow: hidden;
}
.checkout-sale {
  display: grid;
  grid-template-rows: 2.8cqw 3.2cqw minmax(0, 1fr) 4.8cqw;
  padding: .7cqw .9cqw;
  gap: .4cqw;
}
.checkout-sale-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5cqw;
}
.checkout-sale-heading b {
  font-size: 1.6cqw;
}
.checkout-sale-heading>span {
  font-size: 1.05cqw;
  color: #52686a;
}
.checkout-scan {
  border: .13cqw solid #6b8375;
  border-radius: .35cqw;
  padding: .55cqw .7cqw;
  color: #597968;
  background: #fcfefc;
}
.checkout-lines {
  min-height: 0;
  overflow: hidden;
}
.checkout-row {
  display: grid;
  grid-template-columns: 10% minmax(0, 1fr) 7% 19%;
  align-items: center;
  padding: .35cqw .4cqw;
  min-height: 2.7cqw;
  gap: .6cqw;
  font-size: 1.4cqw;
  border-bottom: .07cqw solid #edf2ed;
}
.checkout-row>span:first-child {
  font-size: 1.05cqw;
  color: #607d70;
}
.checkout-row>b {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.checkout-row>:nth-child(3), .checkout-row>:nth-child(4) {
  text-align: right;
}
.checkout-columns {
  background: #e7f4ec;
  border-bottom: .13cqw solid #9cb5a6;
  margin-bottom: .3cqw;
  min-height: 2.4cqw;
  font-size: 1cqw;
  font-weight: 700;
}
.checkout-columns>span:first-child {
  color: #0f2a3a;
  font-size: 1cqw;
}
.checkout-selected {
  background: #eaf5ec;
  border-block: .1cqw solid #bed7c3;
}
.checkout-total {
  display: flex;
  align-items: center;
  gap: .55cqw;
  padding: .5cqw .6cqw;
  background: #e7f4ec;
  border-top: .2cqw solid #6b8375;
  border-radius: .5cqw;
  font-size: 1.2cqw;
  white-space: nowrap;
}
.quantity-key {
  display: grid;
  place-items: center;
  border: .12cqw solid #6b8375;
  border-radius: .4cqw;
  background: white;
  width: 4.3cqw;
  height: 3.3cqw;
  font-size: 1.4cqw;
  font-weight: 600;
}
.checkout-total-label {
  margin-left: auto;
  font-size: 1.05cqw;
  color: #52686a;
}
.checkout-total strong {
  font-size: 3cqw;
  font-weight: 700;
  letter-spacing: -.05em;
}
.checkout-controls {
  padding: .6cqw;
  display: grid;
  grid-template-rows: 2.8cqw minmax(0, 1fr);
}
.checkout-controls-heading {
  color: #0e7a4a;
  padding: .4cqw .5cqw;
  font-size: 1.05cqw;
}
.checkout-keypad {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) repeat(2, minmax(0, 1.9fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: .45cqw;
}
.checkout-key {
  display: flex;
  align-items: center;
  justify-content: center;
  border: .13cqw solid #6b8375;
  border-radius: .6cqw;
  background: #f1f8f4;
  font-size: 1.2cqw;
  text-align: center;
  line-height: 1.4;
  padding: .25cqw;
}
.checkout-key.digit {
  background: white;
  font-size: 2.1cqw;
  font-weight: 600;
}
.checkout-key.muted-key {
  color: #698276;
}
.checkout-key.void-key {
  background: #b91c1c;
  color: white;
  border-color: #b91c1c;
  font-size: 1.4cqw;
}
.checkout-key.enter-key, .checkout-key.pay-key {
  background: #0e7a4a;
  border-color: #0e7a4a;
  color: white;
  font-size: 2cqw;
  font-weight: 600;
}
.checkout-key.enter-key {
  grid-column: span 2;
}
.split-key {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: .45cqw;
  text-align: center;
  font-size: 1.05cqw;
}
.split-key>span {
  border: .13cqw solid #6b8375;
  border-radius: .4cqw;
  display: grid;
  place-items: center;
}
.split-key>span:first-child {
  background: #fff0ee;
  color: #a01e1e;
  border-color: #e2b2a8;
}
.checkout-navigation {
  display: flex;
  gap: .6cqw;
  min-height: 0;
}
.checkout-menus {
  display: flex;
  align-items: stretch;
  gap: .6cqw;
  border: .15cqw solid #6b8375;
  background: #e7f4ec;
  border-radius: .5cqw;
  padding: .3cqw;
  flex: 1;
}
.checkout-menus>span {
  min-width: 10cqw;
  display: grid;
  place-items: center;
  border: .1cqw solid #a2baac;
  border-radius: .35cqw;
  background: #fff;
  font-weight: 600;
  font-size: 1.4cqw;
}
.checkout-menus>.chosen-menu {
  background: #0e7a4a;
  color: white;
  border-color: #0e7a4a;
}
.checkout-menu-button {
  display: grid;
  place-items: center;
  padding-inline: 1.2cqw;
  border: .13cqw solid #6b8375;
  border-radius: .5cqw;
  background: white;
  font-size: 1.5cqw;
}
.checkout-products {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: .6cqw;
  min-height: 0;
}
.checkout-product {
  border: .14cqw solid #6b8375;
  border-radius: .65cqw;
  display: grid;
  grid-template-rows: minmax(0, 1fr) 3.2cqw;
  justify-items: center;
  align-items: center;
  min-height: 0;
  overflow: hidden;
  padding: .35cqw .45cqw;
  text-align: center;
  font-size: 1.35cqw;
  font-weight: 600;
  line-height: 1.15;
}
.product-thumbnail {
  display: block;
  height: 100%;
  max-height: 7.5cqw;
  aspect-ratio: 1;
  background-image: url('./assets/product-thumbnails.png');
  background-size: 600% 300%;
  background-repeat: no-repeat;
  background-position: 0 0;
  border-radius: .5cqw;
}
.product-name { align-self: center; }
.checkout-product:nth-child(6n + 2) .product-thumbnail { background-position-x: 20%; }
.checkout-product:nth-child(6n + 3) .product-thumbnail { background-position-x: 40%; }
.checkout-product:nth-child(6n + 4) .product-thumbnail { background-position-x: 60%; }
.checkout-product:nth-child(6n + 5) .product-thumbnail { background-position-x: 80%; }
.checkout-product:nth-child(6n + 6) .product-thumbnail { background-position-x: 100%; }
.checkout-product:nth-child(n + 7) .product-thumbnail { background-position-y: 50%; }
.checkout-product:nth-child(n + 13) .product-thumbnail { background-position-y: 100%; }
.product-mint { background: #e0f2e6; }
.product-cream { background: #fff2cb; }
.product-peach { background: #f7e5d9; }
.product-blue { background: #e5f0f4; }
.product-sage { background: #edf1e2; }
.hero-art .art-caption {
  left: 48px;
  top: 21px;
}
.hero-art .floating-ticket {
  top: auto;
  bottom: 33px;
  right: 0;
  width: 205px;
  padding: 12px 15px;
  transform: rotate(3deg);
}
.hero-art .floating-ticket p, .hero-art .ticket-bottom {
  display: none;
}
.hero-art .ticket-top {
  padding-bottom: 8px;
}
.hero-art .ticket-number {
  margin: 9px 0 0;
  font-size: 13px;
}
.hero-art .payment-label {
  bottom: 37px;
}
.checkout-zoom {
  position: absolute;
  z-index: 4;
  top: 6px;
  right: 5px;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 13px;
  background: #fdfefb;
  color: #0e7a4a;
  border: 1px solid #b7cdba;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
}
.checkout-zoom:hover {
  background: #e6f1df;
}
.checkout-dialog {
  width: min(1120px, calc(100% - 32px));
}
.checkout-dialog .dialog-inner>h2 {
  max-width: none;
}
.checkout-dialog .dialog-inner>p:not(.eyebrow) {
  max-width: 750px;
}
.checkout-detail-frame {
  container-type: inline-size;
  width: 100%;
  margin-top: 24px;
  border: 2px solid #6b8375;
  border-radius: 9px;
  overflow: hidden;
}
@media(min-width:901px) {
  .checkout-dialog .dialog-inner { padding: 28px 32px 20px; }
  .checkout-detail-frame { max-width: max(500px, calc((100dvh - 280px) * 1.333333)); margin: 18px auto 0; }
  .checkout-dialog .dialog-footnote { margin-block: 12px 0; }
}
@media(min-width:901px) and (max-width:1150px) {
  .hero-art { height: 550px; }
  .pos-terminal { top: 83px; }
  .hero-art .art-caption { left: 35px; }
}
@media(max-width:900px) {
  .hero-art { height: 620px; }
  .pos-terminal { top: 67px; }
}
@media(max-width:600px) {
  .hero-art { height: 430px; }
  .pos-terminal { top: 65px; }
  .screen-frame { padding: 7px; }
  .hero-art .art-caption { left: 25px; top: 22px; font-size: 6px; }
  .checkout-zoom { font-size: 9px; padding: 8px 10px; gap: 8px; top: 6px; right: 0; }
  .hero-art .floating-ticket { width: 162px; padding: 10px; bottom: 33px; }
  .hero-art .ticket-number { font-size: 11px; }
  .hero-art .payment-label { bottom: 36px; }
  .checkout-dialog .dialog-inner { padding-inline: 16px; }
}
@media(max-width:360px) {
  .hero-art { height: 386px; }
  .hero-art .floating-ticket { width: 144px; padding: 8px; }
  .hero-art .ticket-number { font-size: 10px; }
  .hero-art .ticket-number>span { font-size: 5px; padding: 3px; }
  .hero-art .payment-label { padding-inline: 8px; gap: 6px; }
  .hero-art .payment-label b { font-size: 7px; }
  .hero-art .payment-label small { font-size: 6px; }
  .hero-art .art-caption { font-size: 5px; gap: 4px; }
  .checkout-zoom { font-size: 8px; }
}
@media print {
  .site-header,dialog,.hero-actions,.menu-toggle,.contact-section,.footer-top>div,.inline-link,.button,.noscript-banner {
    display:none!important;
  }
  .container {
    width:100%;
  }
  .section {
    padding-block:25px;
  }
  .hero {
    min-height:0;
  }
  .kitchen-section {
    background:#fff;
    color:#000;
    padding-block:25px;
  }
  .kitchen-copy p,.check-list,.feature-qualification {
    color:#333!important;
  }
  .kitchen-layout {
    gap:25px;
  }
  .business-tabs {
    display:none;
  }
  .business-panel {
    border:1px solid #ddd;
  }
  body {
    font-size:12px;
  }
  .hero-art {
    break-inside:avoid;
  }
  .kitchen-monitor {
    box-shadow:none;
  }
  .site-footer {
    padding-block:25px;
  }
}

/* Business photography keeps the complete counter kit visible at every width. */
.venue-gallery { padding-block: 58px 12px; }
.venue-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 25px; }
.venue-heading h2 { font-size: clamp(27px, 3vw, 39px); line-height: 1.15; margin: 12px 0 0; }
.venue-intro { max-width: 620px; margin: 16px 0 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.venue-heading .inline-link { flex-shrink: 0; }
.venue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.venue-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; background: var(--navy); color: white; text-decoration: none; box-shadow: 0 8px 24px #0f2a3a0c; }
.venue-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: filter .2s; }
.venue-card:hover img { filter: brightness(1.06); }
.venue-card-caption { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 24px; }
.venue-card-caption strong { font-size: 23px; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.venue-card-description { color: #d0dde1; font-size: 13px; line-height: 1.7; }
.venue-card-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; color: #9be0b2; font-size: 12px; font-weight: 600; }
.venue-card-link > span { font-size: 21px; }
.venue-card:hover .venue-card-link { color: white; }
.venue-more { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 30px; margin-top: 23px; padding: 19px 0; border-block: 1px solid var(--line); font-size: 13px; }
.venue-more > span { color: var(--muted); }
.venue-more a { display: inline-flex; align-items: center; gap: 15px; min-height: 28px; font-weight: 600; text-decoration: none; }
.venue-more a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.venue-more a > span { color: var(--green); }
.imagery-note { margin: 15px 0 0; color: #64736b; font-size: 10px; line-height: 1.6; }
.business-panel { grid-template-columns: .85fr 1.15fr; }
.business-panel-copy { padding: 44px 40px; }
.business-photo { margin: 0; background: var(--navy); color: white; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.business-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.business-photo figcaption { padding: 22px 28px; display: grid; grid-template-columns: 1fr auto; gap: 7px 16px; align-items: center; }
.business-photo figcaption > span { color: #a7d7b8; font-size: 9px; letter-spacing: .12em; }
.business-photo figcaption strong { font-size: 14px; font-weight: 500; grid-column: 1; }
.business-photo figcaption small { font-size: 9px; color: #bac9ce; grid-column: 2; grid-row: 1 / 3; }
@media (max-width: 900px) {
  .venue-grid { gap: 12px; }
  .venue-heading { align-items: start; flex-direction: column; gap: 16px; }
  .venue-card-caption { padding: 20px 16px; }
  .venue-card-caption strong { font-size: 20px; }
  .venue-card-description { font-size: 12px; }
  .venue-card-link { font-size: 11px; }
  .business-panel { grid-template-columns: 1fr; }
  .business-photo img { max-height: none; }
}
@media (max-width: 600px) {
  .venue-gallery { padding-top: 38px; }
  .venue-heading { align-items: start; flex-direction: column; gap: 15px; }
  .venue-grid { grid-template-columns: 1fr; gap: 18px; }
  .venue-card-caption { padding: 22px; }
  .venue-card-caption strong { font-size: 22px; }
  .venue-card-description { font-size: 13px; }
  .venue-card-link { font-size: 12px; }
  .venue-more { align-items: start; flex-direction: column; gap: 8px; }
  .venue-more a { min-height: 44px; }
  .business-panel-copy { padding: 32px 27px; }
  .business-photo figcaption { padding: 20px; grid-template-columns: 1fr; }
  .business-photo figcaption small { grid-column: 1; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) { .venue-card img { transition: none; } }
