:root {
  --ink: #11130f;
  --ink-soft: #3f443b;
  --paper: #ffffff;
  --white: #ffffff;
  --line: #d9d7cf;
  --sage: #ffffff;
  --olive: #11130f;
  --olive-deep: #11130f;
  --clay: #c96c49;
  --max: 1240px;
  --shadow: 0 26px 70px rgba(20, 24, 17, 0.14);
  --radius-lg: 26px;
  --radius-md: 16px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Modern industry-page system */
.industry-page--modern { background: var(--white); }
.industry-modern-hero { padding: clamp(62px, 8vw, 112px) 0 clamp(68px, 9vw, 126px); overflow: hidden; }
.industry-modern-hero .shell { display: grid; gap: clamp(40px, 6vw, 84px); align-items: center; }
.industry-modern-hero-copy { position: relative; z-index: 1; }
.industry-modern-hero-copy .display { margin: 0; }
.industry-modern-hero-copy .lede { max-width: 650px; margin: 24px 0 0; }
.industry-modern-hero-copy .actions { margin-top: 30px; }
.industry-modern-hero-media { margin: 0; overflow: hidden; background: var(--white); }
.industry-modern-hero-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.industry-modern-hero--split .shell { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.industry-modern-hero--split .industry-modern-hero-media { height: clamp(560px, 57vw, 730px); }
.industry-modern-hero--panorama .shell { display: block; }
.industry-modern-hero--panorama .industry-modern-hero-copy { max-width: 980px; margin: 0 auto; text-align: center; }
.industry-modern-hero--panorama .industry-modern-hero-copy .lede { max-width: 800px; margin-inline: auto; }
.industry-modern-hero--panorama .actions { justify-content: center; }
.industry-modern-hero--panorama .industry-modern-hero-media { margin-top: clamp(38px, 5vw, 68px); }
.industry-modern-hero--panorama .industry-modern-hero-media img { height: auto; }
.industry-modern-hero--offset .shell { display: block; }
.industry-modern-hero--offset .industry-modern-hero-copy { max-width: 850px; }
.industry-modern-hero--offset .industry-modern-hero-media { width: min(88%, 1120px); margin: clamp(36px, 5vw, 66px) 0 0 auto; }
.industry-modern-hero--offset .industry-modern-hero-media img { height: auto; }

.industry-tech-story { padding: clamp(70px, 9vw, 122px) 0; }
.industry-tech-story .shell { display: grid; gap: clamp(34px, 5vw, 68px); align-items: center; }
.industry-tech-intro .headline { margin: 0 0 22px; }
.industry-tech-intro .lede { max-width: 760px; margin: 0; }
.industry-tech-intro > p:not(.lede) { margin: 18px 0 0; color: var(--ink-soft); }
.industry-tech-graphic { margin: 0; overflow: hidden; background: var(--white); }
.industry-tech-graphic img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.industry-tech-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: clamp(24px, 3vw, 42px); }
.industry-tech-points article { padding-top: 22px; border-top: 2px solid var(--ink); }
.industry-tech-points h3 { margin: 0 0 10px; font-size: 1.25rem; letter-spacing: -.025em; }
.industry-tech-points p { margin: 0; color: var(--ink-soft); font-size: .98rem; }
.industry-tech-story--wide .shell { grid-template-areas: 'intro' 'graphic' 'points'; }
.industry-tech-story--wide .industry-tech-intro { grid-area: intro; max-width: 920px; margin: 0 auto; text-align: center; }
.industry-tech-story--wide .industry-tech-intro .lede { margin-inline: auto; }
.industry-tech-story--wide .industry-tech-graphic { grid-area: graphic; }
.industry-tech-story--wide .industry-tech-graphic img { height: auto; }
.industry-tech-story--wide .industry-tech-points { grid-area: points; }
.industry-tech-story--portrait .shell { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); grid-template-areas: 'intro graphic' 'points graphic'; }
.industry-tech-story--portrait .industry-tech-intro { grid-area: intro; align-self: end; }
.industry-tech-story--portrait .industry-tech-graphic { grid-area: graphic; height: clamp(600px, 65vw, 790px); }
.industry-tech-story--portrait .industry-tech-points { grid-area: points; grid-template-columns: 1fr; align-self: start; }
.industry-tech-story--stage .shell { grid-template-areas: 'intro' 'graphic' 'points'; }
.industry-tech-story--stage .industry-tech-intro { grid-area: intro; max-width: 850px; }
.industry-tech-story--stage .industry-tech-graphic { grid-area: graphic; }
.industry-tech-story--stage .industry-tech-graphic img { height: auto; }
.industry-tech-story--stage .industry-tech-points { grid-area: points; margin-left: clamp(0px, 8vw, 110px); }

.industry-modern-payments,
.industry-modern-support { padding: clamp(70px, 9vw, 122px) 0; }
.industry-modern-payments .shell,
.industry-modern-support .shell { display: grid; gap: clamp(32px, 5vw, 68px); align-items: center; }
.industry-modern-section-intro .headline { margin: 0 0 20px; }
.industry-modern-section-intro .lede { max-width: 700px; margin: 0; }
.industry-modern-section-graphic { margin: 0; overflow: hidden; background: var(--white); }
.industry-modern-section-graphic img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; }
.industry-modern-section-detail { max-width: 720px; }
.industry-modern-section-detail p { margin: 0 0 20px; color: var(--ink-soft); font-size: 1.06rem; }
.industry-modern-payments--center .shell { grid-template-areas: 'intro' 'graphic'; }
.industry-modern-payments--center .industry-modern-section-intro { grid-area: intro; max-width: 900px; margin: 0 auto; text-align: center; }
.industry-modern-payments--center .industry-modern-section-intro .lede { margin-inline: auto; }
.industry-modern-payments--center .industry-modern-section-graphic { grid-area: graphic; width: min(82%, 920px); margin-inline: auto; }
.industry-modern-payments--center .industry-modern-section-detail { grid-area: detail; margin-inline: auto; text-align: center; }
.industry-modern-payments--band .shell { grid-template-areas: 'intro' 'graphic'; }
.industry-modern-payments--band .industry-modern-section-intro { grid-area: intro; max-width: 800px; }
.industry-modern-payments--band .industry-modern-section-graphic { grid-area: graphic; width: min(82%, 920px); margin-inline: auto; }
.industry-modern-payments--band .industry-modern-section-detail { grid-area: detail; margin-left: auto; text-align: right; }
.industry-modern-payments--split .shell { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); grid-template-areas: 'intro graphic'; }
.industry-modern-payments--split .industry-modern-section-intro { grid-area: intro; align-self: end; }
.industry-modern-payments--split .industry-modern-section-graphic { grid-area: graphic; width: 82%; margin-inline: auto; }
.industry-modern-payments--split .industry-modern-section-detail { grid-area: detail; align-self: start; }
.industry-modern-payments--split-reverse .shell { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-areas: 'graphic intro'; gap: clamp(42px, 7vw, 96px); }
.industry-modern-payments--split-reverse .industry-modern-section-intro { grid-area: intro; align-self: center; }
.industry-modern-payments--split-reverse .industry-modern-section-graphic { grid-area: graphic; width: min(100%, 680px); margin-inline: auto; }

.industry-modern-support--center .shell { grid-template-columns: 1fr; grid-template-areas: 'intro' 'graphic'; }
.industry-modern-support--center .industry-modern-section-intro { grid-area: intro; max-width: 900px; margin-inline: auto; text-align: center; }
.industry-modern-support--center .industry-modern-section-intro .lede { margin-inline: auto; }
.industry-modern-support--center .industry-modern-section-graphic { grid-area: graphic; width: min(90%, 960px); margin-inline: auto; }
.industry-modern-support--center .industry-modern-section-detail { grid-area: detail; justify-self: end; }
.industry-modern-support--band .shell { grid-template-areas: 'intro' 'graphic'; }
.industry-modern-support--band .industry-modern-section-intro { grid-area: intro; max-width: 780px; }
.industry-modern-support--band .industry-modern-section-graphic { grid-area: graphic; width: min(90%, 980px); margin-inline: auto; }
.industry-modern-support--band .industry-modern-section-detail { grid-area: detail; margin-left: auto; }
.industry-modern-support--split .shell,
.industry-modern-support--split-reverse .shell { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); grid-template-areas: 'intro graphic'; }
.industry-modern-support--split-reverse .shell { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); grid-template-areas: 'graphic intro'; }
.industry-modern-support--split .industry-modern-section-intro,
.industry-modern-support--split-reverse .industry-modern-section-intro { grid-area: intro; align-self: end; }
.industry-modern-support--split .industry-modern-section-graphic,
.industry-modern-support--split-reverse .industry-modern-section-graphic { grid-area: graphic; width: 90%; margin-inline: auto; }
.industry-modern-support--split .industry-modern-section-detail,
.industry-modern-support--split-reverse .industry-modern-section-detail { grid-area: detail; align-self: start; }
.industry-modern-support--liquor-style .shell { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: 'intro graphic'; gap: clamp(40px, 6vw, 88px); }
.industry-modern-support--liquor-style .industry-modern-section-intro { grid-area: intro; align-self: center; }
.industry-modern-support--liquor-style .industry-modern-section-graphic { grid-area: graphic; width: 100%; height: clamp(400px, 37vw, 500px); margin-inline: auto; }
.industry-modern-support--liquor-style .industry-modern-section-graphic img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.06); }

@media (max-width: 900px) {
  .industry-modern-hero--split .shell,
  .industry-tech-story--portrait .shell,
  .industry-modern-payments--split .shell,
  .industry-modern-payments--split-reverse .shell,
  .industry-modern-support--center .shell,
  .industry-modern-support--split .shell,
  .industry-modern-support--split-reverse .shell,
  .industry-modern-support--liquor-style .shell { grid-template-columns: 1fr; }
  .industry-modern-hero--split .industry-modern-hero-media { height: auto; max-height: 680px; }
  .industry-modern-hero--split .industry-modern-hero-media img { max-height: 680px; }
  .industry-tech-story--portrait .shell { grid-template-areas: 'intro' 'graphic' 'points'; }
  .industry-tech-story--portrait .industry-tech-graphic { height: auto; max-height: 720px; }
  .industry-tech-story--portrait .industry-tech-graphic img { max-height: 720px; }
  .industry-modern-payments--split .shell,
  .industry-modern-payments--split-reverse .shell,
  .industry-modern-support--split .shell,
  .industry-modern-support--split-reverse .shell,
  .industry-modern-support--center .shell { grid-template-areas: 'intro' 'graphic' 'detail'; }
  .industry-modern-payments--split .shell,
  .industry-modern-payments--split-reverse .shell { grid-template-areas: 'intro' 'graphic'; }
  .industry-modern-support--split .shell,
  .industry-modern-support--split-reverse .shell,
  .industry-modern-support--center .shell { grid-template-areas: 'intro' 'graphic'; }
  .industry-modern-support--liquor-style .shell { grid-template-areas: 'intro' 'graphic'; }
  .industry-modern-support--liquor-style .industry-modern-section-graphic { height: 420px; }
}

@media (max-width: 720px) {
  .industry-modern-hero { padding: 62px 0 74px; }
  .industry-modern-hero .shell { gap: 32px; }
  .industry-modern-hero-copy .actions .button { width: 100%; }
  .industry-modern-hero--panorama .industry-modern-hero-copy { text-align: left; }
  .industry-modern-hero--panorama .actions { justify-content: flex-start; }
  .industry-modern-hero--offset .industry-modern-hero-media { width: 100%; }
  .industry-tech-story,
  .industry-modern-payments,
  .industry-modern-support { padding: 66px 0; }
  .industry-tech-story--wide .industry-tech-intro { text-align: left; }
  .industry-tech-story--stage .industry-tech-points { margin-left: 0; }
  .industry-tech-points { grid-template-columns: 1fr; gap: 24px; }
  .industry-modern-payments--band .industry-modern-section-detail { text-align: left; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--clay); outline-offset: 3px; }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 999;
  padding: 10px 14px;
  background: var(--white);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.shell { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(17, 19, 15, 0.1);
  backdrop-filter: blur(18px);
}
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 144px; height: auto; }
.brand--dark img { width: 164px; }
.desktop-nav { display: flex; align-items: center; gap: 4px; }
.nav-link, .nav-toggle { border: 0; background: transparent; padding: 12px 14px; text-decoration: none; font-size: 15px; font-weight: 700; cursor: pointer; border-radius: 9px; }
.nav-link:hover, .nav-toggle:hover { background: rgba(17, 19, 15, 0.06); }
.nav-link[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.nav-item--dropdown { position: relative; }
.nav-toggle::after { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 0 3px 8px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"]::after { transform: rotate(225deg); margin-bottom: -1px; }
.dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: -12px;
  min-width: 255px;
  padding: 10px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: .18s ease;
}
.nav-toggle[aria-expanded="true"] + .dropdown, .nav-item--dropdown:focus-within .dropdown { opacity: 1; pointer-events: auto; transform: translateY(0); }
.dropdown a { display: block; padding: 10px 12px; text-decoration: none; border-radius: 8px; font-size: 14px; font-weight: 700; }
.dropdown a:hover { background: var(--paper); }
.header-call { margin-left: 10px; }
.menu-button { display: none; border: 0; background: transparent; padding: 10px; font-weight: 800; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 20px; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: var(--white); text-decoration: none; font-weight: 800; font-size: 15px; line-height: 1; transition: transform .18s ease, background .18s ease, color .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--olive-deep); }
.button--light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button--ghost { background: transparent; color: var(--ink); }
.button--ghost:hover { color: var(--white); }
.button--small { min-height: 44px; padding: 11px 17px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-underline-offset: 4px; }
.text-link::after { content: "→"; transition: transform .18s ease; }
.text-link:hover::after { transform: translateX(4px); }

.eyebrow { display: none; }
.display { margin: 0; font-size: clamp(3.2rem, 7vw, 6.9rem); line-height: .92; letter-spacing: -.075em; font-weight: 850; max-width: 1000px; }
.display--page { font-size: clamp(3.25rem, 6vw, 5.8rem); max-width: 900px; }
.headline { margin: 0; font-size: clamp(2.4rem, 4.5vw, 4.5rem); line-height: .98; letter-spacing: -.06em; font-weight: 830; }
.headline--small { font-size: clamp(2rem, 3.6vw, 3.4rem); }
.lede { max-width: 670px; margin: 24px 0 0; font-size: clamp(1.08rem, 1.6vw, 1.35rem); color: var(--ink-soft); line-height: 1.55; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.hero { padding: 32px 0 38px; }
.hero-copy { padding: 44px 0 54px; }
.hero-media { position: relative; min-height: 580px; overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow); background: var(--ink); }
.hero-media img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,9,6,.74), rgba(7,9,6,.08) 56%, transparent); }
.hero-message { position: absolute; z-index: 2; left: clamp(24px, 5vw, 64px); bottom: clamp(26px, 5vw, 58px); max-width: 410px; color: var(--white); }
.hero-message strong { display: block; margin-bottom: 8px; font-size: clamp(1.4rem, 2.5vw, 2.25rem); line-height: 1.08; letter-spacing: -.04em; }
.hero-message span { color: rgba(255,255,255,.78); }
.hero-media--primary, .hero-media--primary img { min-height: min(780px, calc(100vh - 150px)); }
.hero-media--primary::after { background: linear-gradient(90deg, rgba(5,7,4,.84) 0%, rgba(5,7,4,.62) 42%, rgba(5,7,4,.12) 76%, transparent 100%); }
.hero-message--primary { left: clamp(28px, 5vw, 72px); right: clamp(28px, 5vw, 72px); bottom: clamp(34px, 6vw, 82px); max-width: 940px; }
.hero-message--primary .display { max-width: 920px; color: var(--white); font-size: clamp(3.4rem, 6.7vw, 6.6rem); }
.hero-message--primary .lede { max-width: 700px; color: rgba(255,255,255,.84); }
.button--blue { background: #006aff; border-color: #006aff; color: var(--white); }
.button--blue:hover { background: #0057d9; border-color: #0057d9; color: var(--white); }
.hero-message--primary .button--ghost { background: rgba(255,255,255,.96); border-color: var(--white); color: var(--ink); }
.hero-message--primary .button--ghost:hover { background: var(--white); color: var(--ink); }

/* Homepage kinetic system hero */
.home-hero-next { padding: clamp(32px, 4vw, 58px) 0 clamp(72px, 8vw, 112px); overflow: hidden; background: var(--white); }
.home-hero-panel { position: relative; isolation: isolate; display: flex; min-height: clamp(650px, 64vw, 820px); overflow: hidden; align-items: center; border-radius: 34px; background: #eaf3ff; animation: home-hero-panel-in .8s cubic-bezier(.22, .72, .2, 1) both; }
.home-hero-panel::before { position: absolute; z-index: 2; top: -18%; bottom: -18%; left: -32%; width: 24%; background: linear-gradient(90deg, transparent, rgba(104, 174, 255, .16), rgba(255, 255, 255, .28), transparent); content: ""; opacity: 0; pointer-events: none; transform: skewX(-14deg); animation: home-hero-signal-sweep 7.5s 1.2s ease-in-out infinite; }
.home-hero-panel::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4, 17, 38, .98) 0%, rgba(4, 17, 38, .95) 29%, rgba(4, 17, 38, .72) 47%, rgba(4, 17, 38, .18) 68%, rgba(4, 17, 38, 0) 84%); content: ""; pointer-events: none; }
.home-hero-panel-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; transform: scale(1.035); animation: home-hero-image-settle 1.45s cubic-bezier(.2, .76, .22, 1) both; }
.home-hero-panel-copy { position: relative; z-index: 3; width: min(700px, 57%); margin-left: clamp(32px, 6vw, 88px); color: var(--white); }
.home-hero-panel-copy .display { max-width: 690px; margin: 0; color: var(--white); font-size: clamp(3.35rem, 5.65vw, 6.15rem); line-height: .88; letter-spacing: -.072em; }
.home-hero-panel-copy .home-hero-line { opacity: 0; transform: translateY(24px); animation: home-hero-copy-in .72s cubic-bezier(.22, .72, .2, 1) forwards; }
.home-hero-panel-copy .home-hero-line:nth-child(1) { animation-delay: .18s; }
.home-hero-panel-copy .home-hero-line:nth-child(2) { animation-delay: .3s; }
.home-hero-panel-copy .home-hero-line:nth-child(3) { animation-delay: .42s; }
.home-hero-panel-copy .lede { max-width: 535px; margin: 30px 0 0; color: rgba(255, 255, 255, .82); font-size: clamp(1.06rem, 1.45vw, 1.24rem); }
.home-hero-panel-copy .actions { margin-top: 32px; }
.home-hero-panel-copy .lede,
.home-hero-panel-copy .actions { opacity: 0; transform: translateY(18px); animation: home-hero-copy-in .7s cubic-bezier(.22, .72, .2, 1) forwards; }
.home-hero-panel-copy .lede { animation-delay: .58s; }
.home-hero-panel-copy .actions { animation-delay: .72s; }
.home-hero-panel-copy .button--ghost { border-color: rgba(255, 255, 255, .7); color: var(--white); }
.home-hero-panel-copy .button--ghost:hover { border-color: var(--white); background: var(--white); color: var(--ink); }
@keyframes home-hero-panel-in { from { opacity: 0; transform: translateY(18px) scale(.988); } to { opacity: 1; transform: none; } }
@keyframes home-hero-image-settle { from { transform: scale(1.095) translate3d(1.2%, .6%, 0); } to { transform: scale(1.035) translate3d(0, 0, 0); } }
@keyframes home-hero-copy-in { to { opacity: 1; transform: none; } }
@keyframes home-hero-signal-sweep { 0%, 16% { left: -32%; opacity: 0; } 23% { opacity: .75; } 42% { left: 112%; opacity: 0; } 100% { left: 112%; opacity: 0; } }
.home-hero-heading { position: relative; z-index: 2; }
.home-hero-heading .display { max-width: 1220px; font-size: clamp(4.1rem, 7vw, 6.75rem); line-height: .87; letter-spacing: -.078em; }
.home-hero-line { display: block; }
.home-hero-line em { display: inline-block; color: #006aff; font-style: normal; white-space: nowrap; }
.home-hero-lower { display: grid; grid-template-columns: minmax(280px, .64fr) minmax(590px, 1.36fr); gap: clamp(36px, 5vw, 72px); align-items: center; min-width: 0; margin-top: clamp(38px, 5vw, 68px); }
.home-hero-copy { position: relative; z-index: 4; min-width: 0; align-self: center; }
.home-hero-copy .lede { max-width: 470px; margin: 0; color: var(--ink); font-size: clamp(1.08rem, 1.55vw, 1.28rem); }
.home-hero-copy .actions { margin-top: 30px; }
.home-hero-stage { position: relative; isolation: isolate; width: 100%; min-width: 0; max-width: 100%; min-height: clamp(470px, 46vw, 570px); overflow: hidden; border: 1px solid #dce9fb; border-radius: 34px; background: var(--white); }
.home-hero-stage::before { position: absolute; z-index: -1; width: 72%; aspect-ratio: 1; top: 50%; left: 51%; border: 1px solid rgba(0,106,255,.22); border-radius: 50%; content: ''; transform: translate(-50%, -50%); box-shadow: 0 0 0 56px rgba(0,106,255,.045), 0 0 0 112px rgba(0,106,255,.025); }
.home-hero-product { position: absolute; z-index: 2; inset: 1% -6% -4% -5%; width: 111%; height: 104%; object-fit: contain; filter: drop-shadow(0 22px 32px rgba(26,63,112,.14)); }
.home-hero-track { position: absolute; z-index: 0; border: 1px solid rgba(0,106,255,.25); border-radius: 999px; pointer-events: none; }
.home-hero-track::after { position: absolute; width: 9px; height: 9px; border: 3px solid #fff; border-radius: 50%; background: #006aff; box-shadow: 0 0 0 7px rgba(0,106,255,.11); content: ''; }
.home-hero-track--one { top: 13%; right: -14%; width: 66%; height: 27%; transform: rotate(-7deg); }
.home-hero-track--one::after { top: 32%; left: 8%; }
.home-hero-track--two { bottom: 9%; left: -12%; width: 62%; height: 31%; transform: rotate(9deg); }
.home-hero-track--two::after { right: 10%; bottom: 28%; }

.metric-band { margin: 0; background: var(--white); color: var(--ink); border-block: 1px solid var(--line); }
.metric-inner { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 360px; gap: clamp(56px, 8vw, 120px); padding: clamp(72px, 8vw, 112px) 0; }
.metric-value { display: grid; justify-items: start; gap: 24px; }
.metric-number { font-size: clamp(5.5rem, 12vw, 10rem); line-height: .76; letter-spacing: -.085em; font-weight: 850; }
.metric-label { color: var(--ink-soft); font-size: clamp(.9rem, 1.2vw, 1.05rem); line-height: 1.2; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.metric-copy { max-width: 560px; margin: 0; padding-left: clamp(34px, 5vw, 72px); border-left: 1px solid var(--line); color: var(--ink); font-size: clamp(1.45rem, 2.6vw, 2.35rem); line-height: 1.28; letter-spacing: -.035em; }

.section { padding: clamp(96px, 11vw, 156px) 0; }
.section--tight { padding: 76px 0; }
.section--white { background: var(--white); }
.section--dark { background: var(--white); color: var(--ink); }
.section--sage { background: var(--white); }
.section-header { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; margin-bottom: 68px; }
.section-header p { margin: 0; color: var(--ink-soft); max-width: 520px; }
.section--dark .section-header p, .section--dark .lede { color: var(--ink-soft); }
.services-header { grid-template-columns: 1.3fr .7fr; align-items: center; margin-bottom: 48px; }
.services-header .headline { max-width: 900px; }
.services-header > p { font-size: 1.1rem; line-height: 1.6; }

.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; border: 0; }
.service-item, .service-item + .service-item { display: flex; flex-direction: column; min-height: 300px; padding: 36px; border: 0; border-radius: 20px; background: #f7f7f4; }
.service-item h2, .service-item h3 { max-width: 320px; margin: 0 0 18px; font-size: clamp(1.7rem, 2.5vw, 2.2rem); line-height: 1.04; letter-spacing: -.045em; }
.service-item p { min-height: 0; margin: 0 0 25px; color: var(--ink-soft); }
.service-item .text-link { align-self: flex-start; margin-top: auto; text-decoration: none; }
.service-index { display: none; }

.split { display: grid; grid-template-columns: 1fr 1fr; width: min(calc(100% - 48px), var(--max)); min-height: 640px; margin: 0 auto clamp(96px, 11vw, 156px); overflow: hidden; border-radius: 28px; background: #f1f2ee; }
.split-copy { display: flex; align-items: center; padding: clamp(48px, 7vw, 108px); background: #f1f2ee; }
.split-copy-inner { max-width: 560px; }
.split-media { min-height: 620px; overflow: hidden; }
.split-media img { height: 100%; object-fit: cover; }
.feature-list { margin: 32px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; }
.feature-list li { padding: 12px 0; border: 0; font-weight: 750; }

.process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.steps { display: flex; flex-direction: column; gap: 14px; border: 0; }
.step { display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 28px 30px; border: 0; border-radius: 18px; background: #f7f7f4; }
.step-number { display: none; }
.step h3 { margin: 0 0 7px; font-size: 1.25rem; }
.step p { margin: 0; color: var(--ink-soft); }

.support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 58px; background: transparent; border: 0; }
.support-item { min-height: 250px; padding: 34px; border-radius: 20px; background: #f7f7f4; }
.support-item .number { display: none; }
.support-item h3 { margin: 0 0 12px; font-size: 1.6rem; letter-spacing: -.03em; }
.support-item p { margin: 0; color: var(--ink-soft); }
.support-intro { margin-bottom: 68px; }
.support-list { display: flex; flex-direction: column; gap: 16px; border: 0; }
.support-row { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr); gap: clamp(48px, 9vw, 140px); align-items: center; padding: 36px clamp(32px, 5vw, 56px); border: 0; border-radius: 20px; background: #f7f7f4; }
.support-row h3 { max-width: 460px; margin: 0; font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.05; letter-spacing: -.045em; }
.support-row p { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.6; }

.support-overview { padding-top: 0; }
.support-list--solution .support-row { min-height: 168px; }
.support-rollout { padding-top: 0; }
.support-rollout-panel { padding: clamp(42px, 7vw, 82px); border-radius: 28px; background: #f1f2ee; }
.support-rollout-panel > div:first-child { max-width: 720px; }
.industry-standard-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: clamp(40px, 8vw, 120px); align-items: start; padding: clamp(42px, 7vw, 82px); border-radius: 28px; background: #f1f2ee; }
.industry-standard-card .headline { margin: 0; }
.industry-standard-card .lede { margin-top: 0; }
.industry-standard-card p:not(.lede) { max-width: 620px; color: var(--ink-soft); }
.industry-standard-card .text-link { margin-top: 10px; color: var(--ink); text-decoration: none; }
.industry-standard-card--support { background: #e9ece6; }
.industry-payment-card { grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr); align-items: center; padding: 0; overflow: hidden; }
.industry-context-image { min-height: 390px; height: 100%; margin: 0; }
.industry-context-image img { width: 100%; height: 100%; object-fit: cover; }
.industry-payment-copy { padding: clamp(42px, 6vw, 74px); }
.industry-payment-copy .headline { max-width: 530px; }
.industry-page .section--sage .shell { padding: clamp(42px, 6vw, 78px); border-radius: 28px; background: #f5f5f1; }
.industry-page .section--sage .section-header { margin-bottom: 46px; }

/* Each industry carries a different editorial rhythm while preserving the same content order. */
.industry-page--convenience-stores .section--sage .shell { background: #edf0eb; }
.industry-page--convenience-stores .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--convenience-stores .industry-payment-card { grid-template-columns: 1.12fr .88fr; }
.industry-page--convenience-stores .industry-context-image { min-height: 440px; }
.industry-page--convenience-stores .industry-standard-card--support { margin-left: 9%; background: #f5f5f1; }

.industry-page--liquor-stores .section--sage .shell { background: #f3f0eb; }
.industry-page--liquor-stores .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--liquor-stores .industry-payment-card { grid-template-columns: .85fr 1.15fr; }
.industry-page--liquor-stores .industry-payment-copy { order: -1; }
.industry-page--liquor-stores .industry-context-image { min-height: 460px; }
.industry-page--liquor-stores .industry-standard-card--support { background: #ece8e1; }

.industry-page--smoke-vape-shops .section--sage .shell { padding-left: clamp(42px, 11vw, 170px); padding-right: clamp(42px, 11vw, 170px); background: #f2f3f0; }
.industry-page--smoke-vape-shops .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--smoke-vape-shops .industry-payment-card { border-radius: 1000px; grid-template-columns: .88fr 1.12fr; }
.industry-page--smoke-vape-shops .industry-context-image { min-height: 410px; }
.industry-page--smoke-vape-shops .industry-standard-card--support { grid-template-columns: .75fr 1.25fr; background: #eef0ea; }

.industry-page--grocery-stores .section--sage .shell { background: #eff1ec; }
.industry-page--grocery-stores .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--grocery-stores .industry-payment-card { grid-template-columns: 1.15fr .85fr; }
.industry-page--grocery-stores .industry-context-image { min-height: 470px; }
.industry-page--grocery-stores .industry-standard-card--support { margin-right: 10%; background: #f3f4f0; }

.industry-page--food-trucks .section--sage .shell { background: #f5f2ed; }
.industry-page--food-trucks .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--food-trucks .industry-payment-card { grid-template-columns: 1fr; }
.industry-page--food-trucks .industry-context-image { height: clamp(260px, 28vw, 400px); min-height: 0; }
.industry-page--food-trucks .industry-payment-copy { max-width: 760px; padding-top: 54px; padding-bottom: 64px; }
.industry-page--food-trucks .industry-standard-card--support { background: #eef0ea; }

.industry-page--delis-cafes .section--sage .shell { background: #f1f2ef; }
.industry-page--delis-cafes .capability-grid { grid-template-columns: repeat(3, 1fr); }
.industry-page--delis-cafes .industry-payment-card { grid-template-columns: .8fr 1.2fr; margin-left: 8%; }
.industry-page--delis-cafes .industry-context-image { min-height: 420px; }
.industry-page--delis-cafes .industry-standard-card--support { margin-left: 16%; background: #f4f3ef; }
.rollout-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: clamp(36px, 6vw, 68px); }
.rollout-cards article { min-height: 190px; padding: 30px; border-radius: 18px; background: var(--white); }
.rollout-cards h3 { margin: 0 0 10px; font-size: 1.35rem; letter-spacing: -.03em; }
.rollout-cards p { margin: 0; color: var(--ink-soft); }

/* Homepage: section boundaries come from composition, not divider rules. */
.home-metric { padding: clamp(30px, 4vw, 54px) 0 clamp(88px, 10vw, 150px); border: 0; }
.home-metric .metric-inner { min-height: 0; padding: clamp(48px, 7vw, 88px) 0; border-radius: 0; background: var(--white); }
.home-metric .metric-copy { padding-left: 0; border: 0; }

.home-services { padding-top: 0; padding-bottom: clamp(104px, 12vw, 170px); }
.home-services .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; border: 0; }
.home-services .service-item,
.home-services .service-item + .service-item { display: flex; flex-direction: column; min-height: 330px; padding: 32px 0 0; border: 0; border-top: 3px solid var(--ink); border-radius: 0; background: var(--white); transition: transform .22s ease; }
.home-services .service-item:nth-child(1),
.home-services .service-item:nth-child(2),
.home-services .service-item:nth-child(3) { grid-column: auto; margin-top: 0; }
.home-services .service-item p { min-height: 0; max-width: 520px; }
.home-services .service-item:hover { transform: translateY(-4px); background: var(--white); }
.home-services .text-link { align-self: flex-start; margin-top: auto; color: var(--ink); text-decoration: none; }
.home-services .text-link:hover { color: var(--ink-soft); }

.home-pos { padding-top: 0; padding-bottom: clamp(112px, 13vw, 180px); }
.home-pos-panel { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 720px; overflow: hidden; border-radius: 0; background: var(--white); }
.home-pos-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(44px, 6vw, 82px); }
.home-pos .headline { font-size: clamp(2.8rem, 4.7vw, 5.1rem); }
.home-pos-copy .lede { font-size: clamp(1.05rem, 1.55vw, 1.3rem); }
.home-pos-capabilities { display: grid; gap: 15px; margin-top: 38px; }
.home-pos-capabilities h3 { position: relative; margin: 0; padding-left: 18px; font-size: 1.08rem; letter-spacing: -.02em; }
.home-pos-capabilities h3::before { content: ""; position: absolute; top: .48em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); }
.home-pos-link { display: inline-flex; align-items: center; align-self: flex-start; min-height: 52px; margin-top: 42px; padding: 13px 21px; border-radius: 999px; background: #006aff; color: var(--white); text-decoration: none; font-weight: 850; transition: transform .18s ease, background .18s ease; }
.home-pos-link:hover { transform: translateY(-2px); background: #0057d9; color: var(--white); }
.home-pos-media { min-height: 720px; overflow: hidden; }
.home-pos-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

.home-process { padding-block: clamp(108px, 13vw, 184px); }
.home-process .process-grid { padding: clamp(48px, 7vw, 92px) 0; border-radius: 0; background: var(--white); }
.home-process .steps { display: flex; flex-direction: column; gap: 46px; border: 0; }
.home-process .step { position: relative; display: block; max-width: 520px; padding: 0 0 0 94px; border: 0; border-radius: 0; background: var(--white); }
.home-process .step:nth-child(even) { margin-left: clamp(30px, 8vw, 130px); }
.home-process .step-number { position: absolute; left: 0; top: -13px; color: rgba(17,19,15,.15); font-size: 3.8rem; line-height: 1; letter-spacing: -.08em; }
.home-process .step-number { display: block; }
.home-process .step h3 { font-size: clamp(1.35rem, 2.1vw, 1.8rem); }

.home-support { padding: clamp(82px, 10vw, 132px) 0; }
.home-support-panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: 'visual copy'; gap: clamp(46px, 7vw, 96px); align-items: center; }
.home-support-visual { grid-area: visual; height: clamp(410px, 41vw, 540px); margin: 0; overflow: hidden; }
.home-support-visual img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: scale(1.05); }
.home-support-copy { grid-area: copy; }
.home-support-copy .headline { max-width: 600px; }
.home-support-copy .lede { max-width: 590px; margin-top: 24px; }
.home-support-points { display: grid; gap: 0; margin: 36px 0 0; padding: 0; list-style: none; }
.home-support-points li { display: grid; grid-template-columns: minmax(170px, .8fr) minmax(220px, 1.2fr); gap: 24px; padding: 21px 0; border-top: 2px solid var(--ink); }
.home-support-points strong { font-size: 1rem; line-height: 1.25; letter-spacing: -.02em; }
.home-support-points span { color: var(--ink-soft); font-size: .96rem; line-height: 1.45; }

.home-industries { padding-top: 0; padding-bottom: clamp(112px, 13vw, 184px); }
.home-reviews { padding: clamp(96px, 11vw, 152px) 0; }
.home-reviews .reviews-shell { padding: clamp(44px, 7vw, 86px) 0; border-radius: 0; background: var(--white); }
.home-reviews .review-placeholder { padding: 34px 0 0; border: 0; border-top: 3px solid var(--ink); border-radius: 0; background: var(--white); }

.industry-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.industry-card { position: relative; overflow: hidden; min-height: 460px; grid-column: span 4; background: var(--ink); color: var(--white); text-decoration: none; border-radius: var(--radius-md); }
.industry-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.industry-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(9,11,8,.88)); }
.industry-card:hover img { transform: scale(1.035); }
.industry-card-copy { position: absolute; z-index: 2; inset: auto 28px 28px; }
.industry-card h3 { margin: 0 0 8px; font-size: 1.75rem; line-height: 1.05; letter-spacing: -.04em; }
.industry-card p { margin: 0; color: rgba(255,255,255,.76); max-width: 470px; font-size: 15px; }
.industry-card .arrow { position: absolute; z-index: 3; right: 24px; top: 22px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--ink); font-size: 21px; }

.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.proof-panel { min-height: 320px; padding: 42px; border: 1px dashed #9c9d96; border-radius: var(--radius-md); background: rgba(255,255,255,.48); }
.proof-label { display: inline-flex; margin-bottom: 82px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 850; }
.proof-panel h3 { margin: 0 0 12px; font-size: 1.55rem; letter-spacing: -.03em; }
.proof-panel p { margin: 0; color: var(--ink-soft); }
.reviews-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.review-placeholder { padding: 44px; border: 1px dashed #9c9d96; border-radius: var(--radius-md); }
.review-placeholder strong { display: block; margin-bottom: 12px; font-size: 1.3rem; }
.review-placeholder span { color: var(--ink-soft); }

.final-cta { padding: 126px 0; background: var(--ink); color: var(--white); }
.final-cta .headline { max-width: 820px; }
.final-cta .lede { color: rgba(255,255,255,.72); }
.final-cta .button { background: var(--white); color: var(--ink); border-color: var(--white); }
.final-cta .button--ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,.55); }
.final-cta .button:hover { background: #ecece8; color: var(--ink); }
.final-cta .button--ghost:hover { background: var(--white); color: var(--ink); }
a.button[href^="tel:+13056995228"] { background: #006aff; border-color: #006aff; color: var(--white); }
a.button[href^="tel:+13056995228"]:hover { background: #0057d9; border-color: #0057d9; color: var(--white); }

.page-hero { padding: clamp(96px, 12vw, 168px) 0 clamp(80px, 10vw, 132px); }
.support-hero { padding: clamp(22px, 4vw, 54px) 0; }
.support-hero-media { position: relative; min-height: clamp(660px, 57vw, 800px); overflow: hidden; border-radius: 28px; background: var(--ink); }
.support-hero-media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.08) 46%, transparent 72%); content: ''; }
.support-hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.support-hero-copy { position: absolute; z-index: 1; right: clamp(28px, 6vw, 88px); bottom: clamp(36px, 6vw, 82px); left: clamp(28px, 6vw, 88px); max-width: min(620px, 44%); color: var(--white); }
.support-hero-copy .display { margin: 0; }
.support-hero-copy .lede { margin: 24px 0 0; color: rgba(255,255,255,.8); }
.support-hero-copy .actions { margin-top: 30px; }
.support-hero-copy .button--ghost { border-color: rgba(255,255,255,.72); color: var(--white); }
.support-hero-copy .button--ghost:hover { background: var(--white); color: var(--ink); }
.account-representative,
.installation-training,
.support-availability { padding: clamp(68px, 8vw, 108px) 0; }
.account-representative .shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: clamp(42px, 6vw, 82px); align-items: center; }
.account-representative-copy .headline { max-width: 550px; margin: 0 0 24px; }
.account-representative-copy .lede { max-width: 510px; margin: 0; }
.account-representative-copy p:not(.lede) { max-width: 510px; margin: 20px 0 0; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.55; }
.account-representative-copy .actions { margin-top: 30px; }
.account-representative-media { width: min(100%, 540px); height: clamp(330px, 31vw, 420px); min-height: 0; margin-left: auto; overflow: hidden; border-radius: 0; }
.account-representative-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.installation-training-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: clamp(42px, 6vw, 82px); align-items: center; }
.installation-training-copy { display: flex; min-height: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 0; }
.installation-training-copy .headline { max-width: 560px; margin: 0 0 24px; }
.installation-training-copy .lede { max-width: 520px; margin: 0; }
.installation-training-copy p:not(.lede) { max-width: 515px; margin: 20px 0 0; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.55; }
.installation-training-copy .actions { margin-top: 30px; }
.installation-training-media { width: min(100%, 520px); height: clamp(360px, 34vw, 460px); min-height: 0; margin-left: auto; overflow: hidden; border-radius: 0; }
.installation-training-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.industry-feature .shell { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(42px, 7vw, 104px); align-items: stretch; }
.industry-feature-copy { display: flex; min-height: 540px; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: clamp(18px, 3vw, 48px) 0; }
.industry-feature-copy .headline { max-width: 570px; margin: 0 0 24px; }
.industry-feature-copy .lede { max-width: 515px; margin: 0; }
.industry-feature-copy p:not(.lede) { max-width: 520px; margin: 20px 0 0; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.55; }
.industry-feature-media { min-height: 540px; margin: 0; overflow: hidden; border-radius: 28px; }
.industry-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.industry-feature--reverse .industry-feature-media { order: -1; }
.industry-page--liquor-stores .industry-feature { padding: clamp(46px, 6vw, 78px) 0; }
.industry-page--liquor-stores .industry-feature .shell { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
.industry-page--liquor-stores .industry-feature-copy { min-height: 0; justify-content: center; padding: 0; }
.industry-page--liquor-stores .industry-feature-media { height: clamp(400px, 37vw, 500px); min-height: 400px; align-self: center; border: 0; border-radius: 28px; background: var(--white); }
.industry-page--liquor-stores .industry-feature-media img { position: static; width: 100%; height: 100%; padding: 0; object-fit: contain; object-position: center; transform: scale(1.18); }
.industry-page--liquor-stores .page-hero-media--digital,
.industry-page--liquor-stores .industry-feature-media { position: relative; isolation: isolate; }
.industry-page--liquor-stores .page-hero-media--digital::before { position: absolute; z-index: 2; inset: 8% 5%; background: linear-gradient(105deg, transparent 36%, rgba(0,106,255,.12) 49%, transparent 62%); content: ''; opacity: 0; pointer-events: none; transform: translateX(-120%); }
.industry-page--liquor-stores .page-hero-media--digital.is-visible img { animation: liquor-hero-settle 1s cubic-bezier(.2,.75,.25,1) both; }
.industry-page--liquor-stores .industry-feature-media.is-visible img { animation: liquor-graphic-settle .8s cubic-bezier(.2,.75,.25,1) both; }
.industry-page--liquor-stores .liquor-support-feature .industry-feature-media { width: 90%; margin-inline: auto; }
.industry-page--liquor-stores .liquor-support-feature .industry-feature-media img,
.industry-page--liquor-stores .liquor-support-feature .industry-feature-media.is-visible img { animation: none; transform: scale(1.06); }
.industry-page--liquor-stores .page-hero-media--digital.is-visible::before { animation: liquor-signal 1.1s ease .18s both; }
@keyframes liquor-hero-settle { from { opacity: 0; transform: scale(.965); } to { opacity: 1; transform: scale(1); } }
@keyframes liquor-graphic-settle { from { opacity: .45; transform: translateY(10px) scale(1.14); } to { opacity: 1; transform: translateY(0) scale(1.18); } }
@keyframes liquor-signal { 0% { opacity: 0; transform: translateX(-120%); } 28% { opacity: 1; } 100% { opacity: 0; transform: translateX(120%); } }
.liquor-delivery-story { padding: clamp(64px, 8vw, 112px) 0 0; overflow: hidden; }
.liquor-delivery-story .shell { width: 100%; max-width: none; display: grid; gap: clamp(34px, 4.5vw, 64px); }
.liquor-delivery-heading { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; text-align: center; }
.liquor-delivery-heading .headline { margin: 0; font-size: clamp(2.4rem, 4vw, 3.55rem); white-space: nowrap; }
.liquor-delivery-heading .lede { max-width: 1120px; margin: 22px auto 0; color: var(--ink-soft); }
.liquor-delivery-graphic { width: 100%; margin: 0; overflow: hidden; background: var(--white); }
.liquor-delivery-graphic img { display: block; width: 100%; height: auto; object-fit: cover; object-position: center; }
.liquor-loyalty-showcase { padding: clamp(54px, 7vw, 96px) 0; }
.liquor-loyalty-showcase .shell { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); grid-template-areas: 'intro graphic' 'detail graphic'; column-gap: clamp(42px, 7vw, 106px); row-gap: 30px; align-items: center; }
.liquor-loyalty-intro { grid-area: intro; }
.liquor-loyalty-intro .headline { max-width: 500px; margin: 0 0 22px; }
.liquor-loyalty-intro .lede { max-width: 480px; margin: 0; }
.liquor-loyalty-graphic { grid-area: graphic; height: clamp(390px, 39vw, 510px); margin: 0; overflow: hidden; }
.liquor-loyalty-graphic img, .liquor-invoicing-graphic img, .liquor-payments-graphic img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.liquor-loyalty-graphic img { transform: scale(1.04); }
.liquor-loyalty-detail { grid-area: detail; max-width: 500px; padding-top: 26px; border-top: 2px solid var(--ink); }
.liquor-loyalty-detail h3 { margin: 0 0 12px; font-size: clamp(1.45rem, 2vw, 1.9rem); letter-spacing: -.03em; }
.liquor-loyalty-detail p { margin: 0; color: var(--ink-soft); font-size: 1.06rem; line-height: 1.55; }
.liquor-invoicing-showcase { padding: clamp(54px, 7vw, 96px) 0; }
.liquor-invoicing-showcase .shell { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); grid-template-areas: 'copy graphic'; gap: clamp(42px, 7vw, 106px); align-items: center; }
.liquor-invoicing-graphic { grid-area: graphic; height: clamp(420px, 39vw, 520px); margin: 0; overflow: hidden; }
.liquor-invoicing-graphic img { transform: none; }
.liquor-invoicing-copy { grid-area: copy; max-width: 520px; }
.liquor-invoicing-copy::before { display: none; }
.liquor-invoicing-copy .headline { margin: 0 0 20px; }
.liquor-invoicing-copy .lede { margin: 0; }
.liquor-invoicing-copy p:not(.lede), .liquor-payments-copy p:not(.lede) { margin: 18px 0 0; color: var(--ink-soft); font-size: 1.06rem; line-height: 1.55; }
.liquor-payments-showcase { padding: clamp(54px, 7vw, 96px) 0; }
.liquor-payments-showcase .shell { display: grid; gap: clamp(30px, 4vw, 54px); }
.liquor-payments-title { max-width: 900px; margin: 0 auto; text-align: center; }
.liquor-payments-title .headline { margin: 0; }
.liquor-payments-title .lede { max-width: 820px; margin: 20px auto 0; }
.liquor-payments-graphic { width: min(82%, 920px); height: auto; margin: 0 auto; overflow: hidden; }
.liquor-payments-graphic img { display: block; width: 100%; height: auto; transform: none; }
.liquor-payments-copy { max-width: 820px; margin: 0 auto; text-align: center; }
.liquor-payments-copy p:not(.lede) { margin: 0; }
.payments-hero { padding: clamp(56px, 8vw, 112px) 0 clamp(84px, 11vw, 154px); }
.payments-hero-inner { display: grid; grid-template-columns: minmax(0, .78fr) minmax(440px, 1.22fr); gap: clamp(36px, 7vw, 104px); align-items: center; }
.payments-hero-copy .display { max-width: 620px; margin: 0; }
.payment-rotator { position: relative; min-height: clamp(420px, 45vw, 670px); overflow: hidden; border-radius: 28px; background: #ebede8; }
.payment-scene { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.035); transition: opacity .72s ease, transform 1.15s ease; }
.payment-scene.is-active { opacity: 1; transform: scale(1); }
.payment-scene img { width: 100%; height: 100%; object-fit: cover; }
.payment-rotator-dots { position: absolute; z-index: 2; right: 24px; bottom: 24px; display: flex; gap: 8px; }
.payment-rotator-dots span { width: 28px; height: 3px; background: rgba(255,255,255,.5); transition: background .25s ease; }
.payment-rotator-dots span.is-active { background: var(--white); }
.payment-programs { padding-top: 0; }
.payment-programs-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 48px; align-items: end; margin-bottom: 46px; }
.payment-programs-intro .headline { margin: 0; max-width: 670px; }
.payment-programs-intro p { max-width: 430px; margin: 0; color: var(--ink-soft); }
.payment-program-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.payment-program-card { display: flex; min-height: 465px; flex-direction: column; justify-content: space-between; padding: clamp(32px, 4.2vw, 58px); border: 1px solid #e6e7e3; border-radius: 24px; background: var(--white); }
.payment-program-card h3 { margin: 0 0 14px; font-size: clamp(2rem, 3vw, 3.15rem); letter-spacing: -.055em; line-height: .98; }
.payment-program-lede { max-width: 430px; margin: 0; color: var(--ink-soft); font-size: 1.16rem; line-height: 1.5; }
.payment-program-card ul { display: grid; gap: 16px; margin: 42px 0; padding: 0; list-style: none; }
.payment-program-card li { display: flex; align-items: flex-start; gap: 12px; font-weight: 650; }
.payment-program-card li::before { content: '✓'; display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: .78rem; }
.payment-program-card .button { align-self: flex-start; background: #006aff; border-color: #006aff; color: var(--white); }
.payment-program-card .button:hover { background: #0057d9; border-color: #0057d9; color: var(--white); }
.payment-program-card--dual { background: var(--white); color: var(--ink); }
.payment-program-card--dual .payment-program-lede { color: var(--ink-soft); }
.payment-program-card--dual li::before { background: var(--ink); color: var(--white); }
.payment-program-card--dual .button { background: #006aff; border-color: #006aff; color: var(--white); }
.payment-program-card--dual .button:hover { background: #0057d9; border-color: #0057d9; }
.payment-methods { padding-top: 0; }
.payment-methods-inner { padding: clamp(38px, 5vw, 68px); border-radius: 28px; background: var(--white); text-align: center; }
.payment-methods .headline { max-width: 680px; margin: 0 auto; }
.payment-brand-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 34px clamp(26px, 4vw, 58px); margin-top: clamp(38px, 5vw, 62px); }
.payment-brand { display: grid; min-width: 118px; min-height: 52px; place-items: center; }
.payment-brand img { display: block; width: auto; max-width: 140px; height: 44px; object-fit: contain; }
.payment-brand--ebt { color: var(--ink); font-size: 2rem; font-weight: 900; letter-spacing: -.06em; }
.payment-brand--ebt span { display: inline-flex; align-items: center; gap: 7px; }
.payment-brand--ebt span::before { width: 12px; height: 12px; border-radius: 50%; background: #006aff; content: ''; }
.payment-hardware { padding-top: 0; }
.payment-hardware-inner { display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.payment-hardware-copy .headline { max-width: 560px; margin: 0 0 22px; }
.payment-hardware-copy > p { max-width: 500px; margin: 0; color: var(--ink-soft); font-size: 1.15rem; line-height: 1.55; }
.payment-hardware-copy .actions { margin-top: 30px; }
.hardware-rotator { position: relative; min-height: clamp(470px, 46vw, 620px); overflow: hidden; border: 1px solid #e6e7e3; border-radius: 28px; background: var(--white); }
.hardware-scene { position: absolute; inset: 0; display: grid; margin: 0; place-items: center; padding: clamp(42px, 7vw, 88px); opacity: 0; transform: translateY(14px); transition: opacity .72s ease, transform .72s ease; }
.hardware-scene.is-active { opacity: 1; transform: none; }
.hardware-scene img { width: 100%; max-width: 580px; max-height: 430px; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .13)); }
.hardware-scene figcaption { position: absolute; top: 28px; left: 32px; color: var(--ink); font-size: 14px; font-weight: 800; }
.hardware-rotator-dots { position: absolute; z-index: 2; right: 28px; bottom: 28px; display: flex; gap: 8px; }
.hardware-rotator-dots span { width: 28px; height: 3px; background: #d7d8d4; transition: background .25s ease; }
.hardware-rotator-dots span.is-active { background: var(--ink); }
.dual-compliance { padding-top: 0; }
.dual-compliance-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: 28px; background: var(--white); }
.dual-compliance-media { min-height: 520px; }
.dual-compliance-media img { width: 100%; height: 100%; object-fit: cover; }
.dual-compliance-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 76px); }
.dual-compliance-copy .headline { margin: 0 0 22px; }
.dual-compliance-copy > p { max-width: 570px; margin: 0; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.55; }
.dual-compliance-list { display: grid; gap: 15px; margin: 34px 0; padding: 0; list-style: none; }
.dual-compliance-list li { display: flex; align-items: flex-start; gap: 12px; font-weight: 650; }
.dual-compliance-list li::before { content: '✓'; display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: .78rem; }
.page-hero--image { padding-bottom: 32px; }
.page-hero--image .shell { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(40px, 6vw, 84px); align-items: center; }
.page-hero-media { position: relative; height: min(65vw, 640px); min-height: 410px; overflow: hidden; border-radius: var(--radius-lg); }
.page-hero-media img { height: 100%; object-fit: cover; }
.pos-systems-hero { padding-bottom: clamp(56px, 7vw, 92px); }
.pos-systems-hero .shell { grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr); }
.pos-systems-hero-media { height: clamp(500px, 48vw, 640px); min-height: 500px; background: var(--white); }
.pos-systems-hero-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: scale(1.04); }
.installation-training .installation-training-layout { grid-template-areas: 'media copy'; }
.installation-training .installation-training-copy { grid-area: copy; }
.installation-training .installation-training-media { grid-area: media; margin-right: auto; margin-left: 0; }
.industry-page--liquor-stores .page-hero-media { background: #d6d1c8; }
.industry-page--liquor-stores .page-hero-media::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(135deg, rgba(25,20,15,.16), rgba(255,255,255,.04)); content: ''; pointer-events: none; }
.industry-page--liquor-stores .page-hero-media img { filter: saturate(.66) contrast(.93) brightness(.94); transform: scale(1.035); transform-origin: 58% center; object-position: 58% center; }
.industry-page--liquor-stores .page-hero-media--digital::after { display: none; }
.industry-page--liquor-stores .page-hero-media--digital img { filter: none; transform: none; object-position: center; }
.page-hero-note { position: absolute; z-index: 2; right: 28px; bottom: 28px; max-width: 360px; padding: 22px; background: rgba(255,255,255,.94); border-radius: 12px; font-size: 15px; }
.intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px, 7vw, 92px); padding: clamp(42px, 6vw, 78px); border-radius: 28px; background: #f1f2ee; }
.intro-grid > p { margin: 0; font-size: clamp(1.4rem, 2.3vw, 2.15rem); line-height: 1.35; letter-spacing: -.025em; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.capability { min-height: 210px; padding: 32px; background: #f7f7f4; border: 0; border-radius: 20px; }
.capability h3 { margin: 0 0 12px; font-size: 1.28rem; letter-spacing: -.025em; }
.capability p { margin: 0; color: var(--ink-soft); }
.partner-section { background: var(--white); border: 0; }
.partner-section .shell { padding: clamp(42px, 5vw, 70px) 0; border-radius: 28px; background: var(--white); }
.partner-section .section-header { margin-bottom: clamp(42px, 6vw, 68px); }
.logo-grid { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(42px, 5vw, 72px) clamp(34px, 5vw, 68px); padding: 24px 0 12px; }
.logo-tile { flex: 0 1 calc(25% - 52px); min-width: 170px; min-height: 92px; display: grid; place-items: center; padding: 8px; }
.logo-tile img { width: auto; max-width: 176px; max-height: 66px; object-fit: contain; transition: transform .2s ease; }
.logo-tile:hover img { transform: translateY(-2px); }
.logo-tile span { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.logo-tile--paradise img { max-height: 72px; }
.logo-tile--mynt img { max-height: 54px; }
.logo-tile--pax img { max-height: 76px; }
.logo-tile--greta img { max-height: 78px; }
.logo-note { max-width: 860px; margin: 46px auto 0; color: var(--ink-soft); font-size: 13px; text-align: center; }
.callout { padding: clamp(48px, 7vw, 88px); background: var(--olive-deep); color: var(--white); border-radius: 28px; }
.callout p { color: rgba(255,255,255,.68); max-width: 680px; }

.contact-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(48px, 8vw, 100px); align-items: start; }
.phone-display { display: inline-block; margin: 22px 0 20px; font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 850; letter-spacing: -.06em; text-decoration-thickness: 3px; text-underline-offset: 8px; }
.contact-meta { display: grid; gap: 20px; max-width: 480px; margin-top: 34px; padding-top: 0; border: 0; color: var(--ink-soft); }
.contact-meta > p { margin: 0; color: var(--ink); line-height: 1.5; }
.contact-details { display: grid; gap: 12px; margin: 0; }
.contact-details > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: baseline; }
.contact-details dt { color: var(--ink); font-size: 14px; font-weight: 800; }
.contact-details dd { min-width: 0; margin: 0; }
.contact-details a { color: inherit; overflow-wrap: anywhere; text-underline-offset: 3px; }
.lead-form { padding: clamp(30px, 5vw, 50px); background: #f7f7f4; border: 0; border-radius: 22px; box-shadow: none; }
.contact-page .lead-form { background: #edf5ff; border: 1px solid #d7e7fb; }
.contact-page .field input,
.contact-page .field select { background: var(--white); border-color: #b8cbe3; }
.contact-page .field input:focus,
.contact-page .field select:focus { border-color: #006aff; outline-color: rgba(0,106,255,.16); }
.lead-form h2 { margin: 0 0 8px; font-size: 2rem; letter-spacing: -.04em; }
.lead-form > p { margin: 0 0 30px; color: var(--ink-soft); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 8px; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 14px; font-weight: 800; }
.field input, .field select { width: 100%; min-height: 52px; padding: 12px 14px; color: var(--ink); background: var(--paper); border: 1px solid #bfc1b8; border-radius: 8px; }
.field input:focus, .field select:focus { border-color: var(--ink); outline: 3px solid rgba(201,108,73,.25); }
.form-actions { margin-top: 24px; }
.form-actions .button:disabled { cursor: wait; opacity: .68; }
.form-note { margin-top: 18px; font-size: 13px; color: var(--ink-soft); }
.form-status { margin-top: 18px; padding: 16px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; font-weight: 700; }
.form-status[data-state="success"] { border-color: #9bc5ff; background: #f2f7ff; color: #06366f; }
.form-status[data-state="error"] { border-color: #e5aaaa; background: #fff5f5; color: #7d2020; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.legal { max-width: 780px; }
.legal-notice { margin: 36px 0; padding: 28px; border: 0; border-radius: 18px; background: #f1f2ee; }

.site-footer { padding: 76px 0 112px; background: var(--white); color: var(--ink); border: 0; }
.footer-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 50px; padding-bottom: 66px; border: 0; }
.footer-statement { max-width: 530px; margin: 0; font-size: clamp(1.45rem, 2.5vw, 2.3rem); line-height: 1.22; letter-spacing: -.035em; }
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, .8fr); gap: 50px; padding-top: 52px; }
.footer-col strong { display: block; margin-bottom: 15px; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink); }
.footer-col a, .footer-col span { display: block; margin: 9px 0; color: var(--ink-soft); text-decoration: none; font-size: 14px; }
.footer-col a:hover { color: var(--ink); text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 52px; padding-top: 0; border: 0; color: var(--ink-soft); font-size: 12px; }
.mobile-call { display: none; }

.js [data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition-property: opacity, transform;
  transition-duration: .76s;
  transition-delay: var(--reveal-delay, 0ms);
  transition-timing-function: cubic-bezier(.22, .72, .2, 1);
  will-change: opacity, transform;
}
.js [data-reveal].reveal--rise { transform: translateY(28px); }
.js [data-reveal].reveal--slide-left { transform: translateX(-34px); }
.js [data-reveal].reveal--slide-right { transform: translateX(34px); }
.js [data-reveal].reveal--scale { transform: scale(.955); }
.js [data-reveal].reveal--fade { transform: none; transition-duration: .9s; }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .home-hero-panel,
  .home-hero-panel-copy .home-hero-line,
  .home-hero-panel-copy .lede,
  .home-hero-panel-copy .actions { opacity: 1; transform: none; animation: none !important; }
  .home-hero-panel-image { opacity: 1; transform: scale(1.035); animation: none !important; }
  .home-hero-panel::before { opacity: 0; animation: none !important; }
  [data-reveal] { opacity: 1; transform: none; transition-delay: 0ms !important; will-change: auto; }
}

@media (max-width: 980px) {
  .header-call { display: none; }
  .menu-button { display: block; }
  .desktop-nav { position: fixed; inset: 82px 0 auto; z-index: 90; width: 100vw; height: calc(100dvh - 82px); display: block; padding: 22px 24px 100px; background: var(--paper); overflow-y: auto; visibility: hidden; transform: translateX(100%); transition: transform .25s ease, visibility .25s ease; }
  .desktop-nav[data-open="true"] { visibility: visible; transform: translateX(0); }
  .nav-link, .nav-toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; padding: 16px 4px; border-bottom: 1px solid var(--line); border-radius: 0; font-size: 1.15rem; }
  .dropdown { position: static; display: none; min-width: 0; padding: 6px 0 10px 18px; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; background: transparent; border: 0; }
  .nav-toggle[aria-expanded="true"] + .dropdown { display: block; }
  .dropdown a { padding: 12px 0; }
  .section-header, .process-grid, .intro-grid, .reviews-shell, .contact-layout { grid-template-columns: 1fr; gap: 34px; }
  .split { grid-template-columns: 1fr; }
  .split-copy { min-height: 560px; }
  .split-media { min-height: 520px; }
  .industry-card, .industry-card:nth-child(1), .industry-card:nth-child(2) { grid-column: span 6; min-height: 470px; }
  .logo-tile { flex-basis: calc(33.333% - 46px); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid .footer-col:first-child { grid-column: 1 / -1; }
  .home-hero-lower { grid-template-columns: 1fr; gap: 40px; }
  .home-hero-copy .lede { max-width: 720px; }
  .home-hero-stage { min-height: min(68vw, 590px); }
  .home-pos-panel { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); min-height: 620px; }
  .home-pos-copy { padding: 42px; }
  .home-pos .headline { font-size: clamp(2.7rem, 4.7vw, 4.3rem); }
  .home-pos-media { min-height: 620px; }
  .payments-hero-inner { grid-template-columns: 1fr; gap: 42px; }
  .payment-rotator { min-height: min(68vw, 580px); }
  .payment-hardware-inner { grid-template-columns: 1fr; gap: 42px; }
  .payment-programs-intro { grid-template-columns: 1fr; gap: 18px; }
  .page-hero--image .shell { grid-template-columns: 1fr; }
  .pos-systems-hero .shell { grid-template-columns: 1fr; }
  .pos-systems-hero-media { height: 520px; min-height: 0; }
  .home-services .service-item:nth-child(1),
  .home-services .service-item:nth-child(2),
  .home-services .service-item:nth-child(3) { grid-column: auto; margin-top: 0; }
  .home-support .support-row:nth-child(1),
  .home-support .support-row:nth-child(2),
  .home-support .support-row:nth-child(3) { grid-column: auto; }
}

@media (max-width: 720px) {
  body { font-size: 16px; padding-bottom: 66px; }
  .shell { width: min(calc(100% - 32px), var(--max)); }
  .header-inner { min-height: 70px; }
  .desktop-nav { top: 70px; height: calc(100dvh - 70px); }
  .brand img { width: 126px; }
  .hero { padding: 16px 0 26px; }
  .hero-copy { padding: 28px 0 42px; }
  .display { font-size: clamp(3rem, 15vw, 4.6rem); line-height: .94; }
  .display--page { font-size: clamp(3rem, 14vw, 4.2rem); }
  .hero-media, .hero-media img { min-height: 520px; }
  .hero-media img { object-position: 64% center; }
  .hero-media::after { background: linear-gradient(180deg, transparent 20%, rgba(7,9,6,.82)); }
  .hero-message { max-width: calc(100% - 48px); }
  .hero-media--primary, .hero-media--primary img { min-height: 720px; }
  .hero-media--primary img { object-position: 66% center; }
  .hero-media--primary::after { background: linear-gradient(180deg, rgba(5,7,4,.08) 5%, rgba(5,7,4,.34) 38%, rgba(5,7,4,.92) 78%, rgba(5,7,4,.96)); }
  .hero-message--primary { right: 24px; bottom: 28px; max-width: none; }
  .hero-message--primary .display { font-size: clamp(2.9rem, 13vw, 4.1rem); }
  .hero-message--primary .lede { margin-top: 18px; font-size: 1rem; line-height: 1.48; }
  .hero-message--primary .actions { margin-top: 24px; }
  .hero-message--primary .actions .button { width: 100%; }
  .home-hero-next { padding: 24px 0 72px; }
  .home-hero-panel { min-height: 790px; align-items: flex-end; border-radius: 24px; }
  .home-hero-panel::after { background: linear-gradient(180deg, rgba(4, 17, 38, .02) 6%, rgba(4, 17, 38, .2) 34%, rgba(4, 17, 38, .88) 60%, rgba(4, 17, 38, .99) 100%); }
  .home-hero-panel-image { object-position: 61% top; transform: scale(1.04); }
  .home-hero-panel-copy { width: auto; margin: 0; padding: 38px 24px; }
  .home-hero-panel-copy .display { font-size: clamp(2.72rem, 11.5vw, 4rem); line-height: .9; }
  .home-hero-panel-copy .lede { margin-top: 22px; font-size: 1.03rem; line-height: 1.5; }
  .home-hero-panel-copy .actions { display: grid; grid-template-columns: 1fr; margin-top: 26px; }
  .home-hero-panel-copy .actions .button { width: 100%; }
  .home-hero-heading .display { font-size: clamp(2.8rem, 12vw, 4rem); line-height: .9; }
  .home-hero-lower { margin-top: 32px; gap: 34px; }
  .home-hero-copy .lede { font-size: 1.05rem; line-height: 1.52; }
  .home-hero-copy .actions { display: grid; grid-template-columns: 1fr; }
  .home-hero-copy .actions .button { width: 100%; }
  .home-hero-stage { min-height: 430px; border-radius: 24px; }
  .home-hero-product { inset: 2% -15% -3% -14%; width: 129%; height: 102%; }
  .metric-inner { grid-template-columns: 1fr; gap: 46px; min-height: 0; padding: 68px 0 72px; }
  .metric-number { font-size: clamp(5rem, 26vw, 7.2rem); }
  .metric-copy { padding: 34px 0 0; border-top: 1px solid var(--line); border-left: 0; font-size: clamp(1.35rem, 7vw, 1.8rem); }
  .home-metric { padding: 18px 0 82px; }
  .home-metric .metric-inner { gap: 34px; padding: 38px 0; border-radius: 0; }
  .home-metric .metric-copy { padding: 0; border: 0; }
  .section { padding: 78px 0; }
  .section--tight { padding: 58px 0; }
  .section-header { margin-bottom: 38px; }
  .service-grid, .support-grid, .capability-grid, .proof-grid { grid-template-columns: 1fr; }
  .logo-grid { gap: 30px 18px; padding-top: 8px; }
  .logo-tile { flex-basis: calc(50% - 18px); min-width: 0; min-height: 96px; padding: 12px 8px; }
  .logo-tile img { max-width: 132px; max-height: 50px; }
  .service-item, .service-item + .service-item { min-height: auto; padding: 28px; border: 0; border-radius: 18px; }
  .service-item p { min-height: 0; }
  .home-services { padding-bottom: 98px; }
  .home-services .service-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-services .service-item:nth-child(1),
  .home-services .service-item:nth-child(2),
  .home-services .service-item:nth-child(3) { grid-column: 1; min-height: auto; margin: 0; padding: 26px 0 0; border-top: 3px solid var(--ink); border-radius: 0; }
  .split-copy { min-height: auto; padding: 64px 24px; }
  .split-media { min-height: 410px; }
  .feature-list { grid-template-columns: 1fr; }
  .home-pos { padding-bottom: 96px; }
  .home-pos-panel { grid-template-columns: 1fr; min-height: 0; border-radius: 0; }
  .home-pos-copy { padding: 42px 26px 48px; }
  .home-pos .headline { font-size: clamp(2.7rem, 12vw, 4rem); }
  .home-pos-capabilities { gap: 21px; margin-top: 32px; }
  .home-pos-link { margin-top: 34px; }
  .home-pos-media { min-height: 560px; }
  .support-grid { gap: 16px; border: 0; }
  .support-item { min-height: auto; padding: 28px; border: 0; border-radius: 18px; }
  .support-item .number { display: none; }
  .support-intro { margin-bottom: 44px; }
  .support-row { grid-template-columns: 1fr; gap: 14px; padding: 30px 0 32px; }
  .support-row h3 { font-size: clamp(1.65rem, 8vw, 2.15rem); }
  .home-process { padding-block: 96px; }
  .home-process .process-grid { padding: 42px 0; border-radius: 0; }
  .home-process .steps { gap: 42px; }
  .home-process .step, .home-process .step:nth-child(even) { margin-left: 0; padding-left: 70px; }
  .home-process .step-number { top: -7px; font-size: 3rem; }
  .home-support { padding-block: 82px 94px; }
  .home-support-panel { grid-template-columns: 1fr; grid-template-areas: 'copy' 'visual'; gap: 32px; }
  .home-support-copy .lede { margin-top: 18px; }
  .home-support-points { margin-top: 30px; }
  .home-support-points li { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .home-support-visual { height: 360px; }
  .home-reviews .reviews-shell { padding: 38px 0; border-radius: 0; }
  .support-rollout-panel { padding: 38px 24px; border-radius: 22px; }
  .industry-standard-card { grid-template-columns: 1fr; gap: 26px; padding: 38px 24px; border-radius: 22px; }
  .industry-payment-card { padding: 0; gap: 0; }
  .industry-context-image, .industry-page--convenience-stores .industry-context-image, .industry-page--liquor-stores .industry-context-image, .industry-page--grocery-stores .industry-context-image, .industry-page--delis-cafes .industry-context-image { min-height: 300px; }
  .industry-payment-copy { padding: 34px 24px 38px; }
  .industry-page--smoke-vape-shops .section--sage .shell { padding-left: 24px; padding-right: 24px; }
  .industry-page--smoke-vape-shops .industry-payment-card { border-radius: 22px; }
  .industry-page--food-trucks .industry-context-image { height: 280px; }
  .industry-page--convenience-stores .industry-standard-card--support, .industry-page--grocery-stores .industry-standard-card--support, .industry-page--delis-cafes .industry-standard-card--support, .industry-page--delis-cafes .industry-payment-card { margin-left: 0; margin-right: 0; }
  .rollout-cards { grid-template-columns: 1fr; gap: 14px; margin-top: 32px; }
  .rollout-cards article { min-height: auto; padding: 26px; }
  .industry-grid { gap: 16px; }
  .industry-card, .industry-card:nth-child(1), .industry-card:nth-child(2) { grid-column: 1 / -1; min-height: 420px; }
  .proof-panel { min-height: 280px; padding: 28px; }
  .proof-label { margin-bottom: 60px; }
  .final-cta { padding: 88px 0; }
  .page-hero { padding: 70px 0 60px; }
  .support-hero { padding: 16px 0 30px; }
  .support-hero-media { min-height: 700px; border-radius: 22px; }
  .support-hero-media img { object-position: 62% center; }
  .support-hero-copy { top: auto; right: 24px; bottom: 28px; left: 24px; max-width: none; transform: none; }
  .support-hero-copy .display { font-size: clamp(2.9rem, 13vw, 4.1rem); }
  .support-hero-copy .lede { font-size: 1rem; line-height: 1.48; }
  .support-hero-copy .actions { margin-top: 24px; }
  .support-hero-copy .actions .button { width: 100%; }
  .account-representative,
  .installation-training,
  .support-availability { padding: 62px 0; }
  .account-representative .shell { grid-template-columns: 1fr; gap: 28px; }
  .account-representative-media { width: 100%; height: 300px; min-height: 0; margin: 0; border-radius: 0; }
  .installation-training-layout { grid-template-columns: 1fr; gap: 28px; }
  .installation-training .installation-training-layout { grid-template-areas: 'copy' 'media'; }
  .installation-training-copy { min-height: 0; padding: 0; }
  .installation-training-media { width: 100%; height: 350px; min-height: 0; margin: 0; border-radius: 0; }
  .industry-feature .shell { grid-template-columns: 1fr; gap: 36px; }
  .industry-feature-copy { min-height: 0; padding: 0; }
  .industry-feature-media { min-height: 460px; border-radius: 22px; }
  .industry-feature--reverse .industry-feature-media { order: 0; }
  .industry-page--liquor-stores .industry-feature { padding: 38px 0; }
  .industry-page--liquor-stores .industry-feature-copy { min-height: 0; }
  .industry-page--liquor-stores .industry-feature-media { height: 400px; min-height: 400px; border-radius: 22px; }
  .industry-page--liquor-stores .industry-feature-media img { height: 100%; padding: 0; }
  .liquor-delivery-story { padding: 64px 0 0; }
  .liquor-delivery-story .shell { gap: 32px; }
  .liquor-delivery-heading { width: min(calc(100% - 32px), var(--max)); }
  .liquor-delivery-heading .headline { font-size: clamp(2.35rem, 11vw, 3.4rem); white-space: normal; }
  .liquor-delivery-heading .lede { margin-top: 18px; }
  .liquor-delivery-graphic { height: auto; }
  .liquor-delivery-graphic img { min-height: 330px; object-fit: cover; object-position: center; }
  .liquor-loyalty-showcase, .liquor-invoicing-showcase, .liquor-payments-showcase { padding: 42px 0; }
  .liquor-loyalty-showcase .shell { grid-template-columns: 1fr; grid-template-areas: 'intro' 'graphic' 'detail'; gap: 28px; }
  .liquor-loyalty-graphic { height: 360px; }
  .liquor-invoicing-showcase .shell { grid-template-columns: 1fr; grid-template-areas: 'copy' 'graphic'; gap: 28px; }
  .liquor-invoicing-graphic { height: 390px; }
  .liquor-invoicing-copy { width: auto; max-width: none; }
  .liquor-payments-showcase .shell { gap: 28px; }
  .liquor-payments-graphic { height: auto; }
  .payments-hero { padding: 32px 0 68px; }
  .payment-rotator { min-height: 480px; border-radius: 22px; }
  .payment-rotator-dots { right: 18px; bottom: 18px; }
  .payment-program-grid { grid-template-columns: 1fr; gap: 16px; }
  .payment-program-card { min-height: 0; padding: 34px 28px; border-radius: 20px; }
  .payment-program-card ul { margin: 30px 0; gap: 14px; }
  .payment-methods-inner { padding: 38px 24px; border-radius: 22px; }
  .payment-brand-row { gap: 26px 30px; }
  .payment-brand { min-width: 90px; }
  .payment-brand img { max-width: 112px; height: 36px; }
  .hardware-rotator { min-height: 430px; border-radius: 22px; }
  .hardware-scene { padding: 58px 32px; }
  .hardware-scene img { max-height: 320px; }
  .hardware-scene figcaption { top: 22px; left: 24px; }
  .hardware-rotator-dots { right: 22px; bottom: 22px; }
  .dual-compliance-panel { grid-template-columns: 1fr; border-radius: 22px; }
  .dual-compliance-media { min-height: 340px; }
  .dual-compliance-copy { padding: 38px 24px 42px; }
  .page-hero-media { min-height: 480px; height: 76vh; }
  .page-hero-note { right: 16px; bottom: 16px; left: 16px; }
  .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .intro-grid { padding: 34px 24px; border-radius: 22px; }
  .partner-section .shell { padding: 38px 0; border-radius: 22px; }
  .lead-form { padding: 26px 20px; }
  .footer-top, .footer-bottom { flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-grid .footer-col:first-child { grid-column: 1 / -1; }
  .mobile-call { position: fixed; z-index: 100; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 10px 12px 10px 18px; background: var(--ink); color: var(--white); border-radius: 999px; box-shadow: 0 14px 40px rgba(0,0,0,.28); text-decoration: none; font-weight: 800; }
  .mobile-call span:last-child { padding: 8px 12px; background: var(--white); color: var(--ink); border-radius: 999px; font-size: 13px; }
}
