/* FN8POS landing page — restrained hospitality palette and custom product UI */
.landing {
  --land-bg: #f5f5ef;
  --land-paper: #fffefa;
  --land-ink: #1e2b22;
  --land-muted: #657168;
  --land-faint: #8b948c;
  --land-line: #e3e6de;
  --land-green: #285b3e;
  --land-green-deep: #1d4730;
  --land-lime: #b8dc7f;
  background: var(--land-bg);
  color: var(--land-ink);
  min-height: 100vh;
  overflow: clip;
  font-family: var(--ff);
}
.landing button, .landing a { -webkit-tap-highlight-color: transparent; }
.landing button:focus-visible, .landing a:focus-visible { outline: 3px solid #8bb96b; outline-offset: 4px; }
.content-width { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }

/* Header */
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: 76px; border-bottom: 1px solid transparent; transition: background .25s, border-color .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(250,250,245,.94); border-color: rgba(36,54,41,.1); box-shadow: 0 8px 30px rgba(30,43,34,.04); backdrop-filter: blur(18px); }
.site-header-inner { width: min(1360px, calc(100% - 64px)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--land-ink); }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; background: var(--land-green); border-radius: 10px; color: #fff; }
.brand-mark svg { width: 29px; height: 29px; }
.brand-word { color: var(--land-ink); font-size: 18px; font-weight: 800; letter-spacing: -.8px; }
.brand-word span { color: var(--land-green); }
.desktop-nav { display: flex; align-items: center; gap: 36px; margin-left: 80px; }
.desktop-nav a, .login-link { color: #566258; font-size: 13px; font-weight: 600; transition: color .2s; }
.desktop-nav a:hover, .login-link:hover { color: var(--land-green); }
.header-actions { display: flex; align-items: center; gap: 24px; }
.login-link { background: none; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; border: 1px solid transparent; border-radius: 7px; font-family: inherit; font-size: 13px; line-height: 1; font-weight: 700; text-decoration: none; transition: transform .22s, background .22s, color .22s, border-color .22s, box-shadow .22s; cursor: pointer; white-space: nowrap; }
.button:hover { transform: translateY(-2px); }
.button svg { transition: transform .22s; }
.button:hover svg { transform: translateX(3px); }
.button-dark { background: var(--land-green); color: #fff; box-shadow: 0 6px 16px rgba(40,91,62,.13); }
.button-dark:hover { background: var(--land-green-deep); box-shadow: 0 9px 22px rgba(40,91,62,.2); }
.button-light { color: var(--land-green); background: #fffefa; border-color: #d9dfd5; }
.button-light:hover, .button-outline:hover { border-color: var(--land-green); background: #f8fbf4; }
.button-outline { color: var(--land-ink); border-color: #d8ded5; background: rgba(255,255,250,.65); }
.button-small { height: 40px; padding: 0 17px; font-size: 12px; }
.button-large { height: 54px; padding: 0 23px; font-size: 13px; }
.button-cream { color: var(--land-green-deep); background: #f4f2e8; }
.button-cream:hover { background: #fffefa; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.mobile-menu-toggle { display: none; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid var(--land-line); border-radius: 7px; background: transparent; color: var(--land-ink); }
.mobile-nav { display: none; }

/* Hero */
.hero { min-height: 790px; padding: 150px 0 0; position: relative; isolation: isolate; background: linear-gradient(180deg,#f7f7f1 0%,#f2f3ec 100%); }
.hero-background { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hero-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(71,96,72,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(71,96,72,.075) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,transparent 8%,#000 52%,#000 100%); }
.hero-orbit { position: absolute; border: 1px solid rgba(56,93,59,.11); border-radius: 50%; }
.orbit-one { width: 720px; height: 720px; top: 10px; right: -90px; }
.orbit-two { width: 900px; height: 900px; top: -80px; right: -180px; }
.hero-layout { display: grid; grid-template-columns: minmax(350px,.79fr) minmax(580px,1.21fr); gap: 52px; align-items: center; position: relative; z-index: 1; }
.hero-copy { padding: 12px 0 58px; }
.eyebrow, .section-kicker { display: flex; align-items: center; gap: 9px; color: var(--land-green); font-size: 10px; line-height: 1.2; font-weight: 800; letter-spacing: 1.6px; }
.eyebrow { margin-bottom: 23px; }
.eyebrow-mark { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #d5dfca; border-radius: 6px; color: var(--land-green); }
.hero h1 { max-width: 590px; margin: 0; color: var(--land-ink); font-size: clamp(49px,5.2vw,72px); line-height: 1.03; letter-spacing: -4.5px; font-weight: 700; }
.hero h1 span, .section-heading h2 span, .workflow-copy h2 span { color: var(--land-green); }
.hero-description { max-width: 480px; margin: 24px 0 29px; color: var(--land-muted); font-size: 15px; line-height: 1.85; }
.hero-buttons { display: flex; align-items: center; gap: 11px; }
.hero-assurance { display: flex; align-items: center; gap: 9px; margin-top: 21px; color: #6f7a70; font-size: 11px; font-weight: 600; }
.assurance-check { display: grid; place-items: center; width: 17px; height: 17px; color: var(--land-green); border: 1px solid #cbd9c3; border-radius: 50%; }
.assurance-divider { height: 13px; width: 1px; background: #d7ddd3; margin: 0 3px; }
.hero-product { position: relative; padding: 10px 10px 32px 2px; perspective: 1400px; }
.product-window { position: relative; border: 1px solid rgba(46,63,49,.17); border-radius: 12px; overflow: hidden; background: #fbfcf9; box-shadow: 0 36px 90px rgba(41,61,43,.17),0 8px 24px rgba(38,55,39,.08); transform: rotateY(-4deg) rotateX(1.2deg); transform-origin: center; transition: transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s; }
.hero-product:hover .product-window { transform: rotateY(0) rotateX(0) translateY(-3px); box-shadow: 0 45px 110px rgba(41,61,43,.2),0 8px 24px rgba(38,55,39,.08); }
.window-topbar { height: 37px; display: flex; align-items: center; padding: 0 13px; background: #f4f6f1; border-bottom: 1px solid #e6eae3; }
.window-controls { display: flex; gap: 5px; }
.window-controls i { width: 7px; height: 7px; background: #d2d8d0; border-radius: 50%; }
.window-controls i:first-child { background: #d99b8f; }.window-controls i:nth-child(2) { background: #dfc480; }.window-controls i:nth-child(3) { background: #a4c393; }
.window-address { display: flex; align-items: center; justify-content: center; gap: 5px; width: 190px; height: 21px; margin: auto; border: 1px solid #e4e8e0; border-radius: 4px; background: #fafbf8; color: #89928a; font-size: 8px; }
.address-lock { color: #72836f; display: flex; }
.window-status { display: inline-flex; align-items: center; gap: 5px; color: #768076; font-size: 8px; }
.window-status i, .workflow-topline > span:last-child i { width: 6px; height: 6px; border-radius: 50%; background: #6da164; box-shadow: 0 0 0 3px rgba(109,161,100,.13); }
.dashboard-shell { display: flex; min-height: 402px; }
.dashboard-rail { width: 52px; flex: 0 0 52px; display: flex; flex-direction: column; align-items: center; border-right: 1px solid #e9ece6; background: #f7f9f5; }
.rail-logo { width: 100%; height: 50px; display: grid; place-items: center; border-bottom: 1px solid #e9ece6; }
.rail-logo .brand-mark { width: 24px; height: 24px; border-radius: 6px; }.rail-logo .brand-mark svg { width: 21px; height: 21px; }
.rail-logo .brand-word { display: none; }
.rail-items { display: grid; gap: 9px; margin-top: 15px; }
.rail-item { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 6px; color: #9aa49a; }
.rail-item.active { color: var(--land-green); background: #e7eee1; }
.rail-avatar { width: 25px; height: 25px; display: grid; place-items: center; margin-top: auto; margin-bottom: 13px; border-radius: 50%; background: #e4ddcd; color: #625846; font-size: 8px; font-weight: 800; }
.dashboard-main { min-width: 0; flex: 1; padding: 21px 22px 17px; background: #fbfcf9; }
.dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 17px; }
.dashboard-kicker { color: #849083; font-size: 7px; font-weight: 800; letter-spacing: 1.1px; }
.dashboard-heading h2 { margin-top: 4px; color: #26362a; font-size: 15px; letter-spacing: -.4px; }
.date-chip { height: 25px; display: inline-flex; align-items: center; gap: 7px; padding: 0 8px; border: 1px solid #e7eae4; border-radius: 4px; color: #849084; font-size: 7px; white-space: nowrap; }
.date-chip span { display: flex; }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.metric-card { min-width: 0; min-height: 81px; padding: 10px 11px; border: 1px solid #e8ebe5; border-radius: 5px; background: #fff; }
.metric-label { display: block; margin-bottom: 7px; color: #899389; font-size: 7px; }
.metric-card strong { display: block; color: #28372b; font-family: var(--fm); font-size: 12px; line-height: 1.3; letter-spacing: -.4px; white-space: nowrap; }
.metric-change, .metric-neutral { display: flex; align-items: center; gap: 3px; margin-top: 6px; color: #47794d; font-size: 7px; font-weight: 700; }
.metric-change small { color: #a0a79e; font-size: 6px; font-weight: 500; }
.metric-neutral { color: #99a199; font-weight: 500; }
.dashboard-lower { display: grid; grid-template-columns: 1.38fr 1fr; gap: 8px; margin-top: 9px; }
.sales-card, .orders-card { min-width: 0; padding: 12px 11px 9px; border: 1px solid #e8ebe5; border-radius: 5px; background: #fff; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 5px; }
.card-heading strong { display: block; color: #344236; font-size: 8px; }
.card-heading > div > span { display: block; margin-top: 3px; color: #a0a79e; font-size: 6px; }
.chart-period { display: inline-flex; align-items: center; gap: 3px; padding: 4px 5px; border: 1px solid #e9ece6; border-radius: 3px; color: #849084; font-size: 6px; white-space: nowrap; }
.chart-area { height: 123px; display: flex; gap: 7px; margin-top: 13px; position: relative; background: repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf0eb 30px); }
.chart-y-labels { height: 100%; display: flex; flex-direction: column; justify-content: space-between; color: #a4aca2; font: 6px var(--fm); }
.sales-chart { width: 100%; height: 100%; overflow: visible; }
.chart-fill { fill: url(#chart-fill); }
.chart-line { fill: none; stroke: #4d7e48; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-dasharray: 900; stroke-dashoffset: 900; animation: draw-chart 1.8s .6s ease forwards; }
.sales-chart circle { fill: #fff; stroke: #4d7e48; stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart-x-labels { display: flex; justify-content: space-between; padding-left: 24px; color: #9da69c; font-size: 6px; }
.orders-count { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 4px; background: #edf2e9; color: #4a7147; font: 700 7px var(--fm); }
.order-row { display: flex; align-items: center; gap: 6px; padding: 11px 0; border-bottom: 1px solid #f0f2ed; }
.order-row:last-child { border-bottom: 0; padding-bottom: 3px; }
.order-avatar { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 5px; font-size: 7px; font-weight: 800; }
.order-avatar.oat { color: #8c6d40; background: #f1eadb; }.order-avatar.moss { color: #55714c; background: #e8eee3; }.order-avatar.clay { color: #a46b57; background: #f3e7e0; }
.order-details { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.order-details b { overflow: hidden; color: #566257; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.order-details small { margin-top: 3px; color: #a3aaa1; font-size: 6px; }
.order-amount { color: #6f796f; font: 7px var(--fm); white-space: nowrap; }
.product-note { position: absolute; display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid rgba(45,67,48,.12); border-radius: 7px; background: rgba(255,255,251,.96); box-shadow: 0 14px 30px rgba(38,55,39,.13); animation: note-drift 5s ease-in-out infinite; }
.note-revenue { right: -19px; top: 20%; }.note-order { bottom: 0; left: -24px; animation-delay: -2.4s; }
.note-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; color: #427148; background: #edf3e9; }
.product-note > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.product-note small { color: #90998e; font-size: 8px; }.product-note b { color: #304333; font-size: 11px; }.product-note i { margin-left: 5px; padding: 4px 5px; border-radius: 3px; background: #edf4e8; color: #4d784a; font-size: 7px; font-style: normal; font-weight: 700; }
.note-live { width: 7px; height: 7px; margin: 0 4px; border-radius: 50%; background: #78a96a; box-shadow: 0 0 0 4px #edf4e8; animation: live-pulse 2.2s infinite; }
.note-order-id { margin-left: 5px; color: #8c968b; font: 8px var(--fm); }
.hero-bottom { display: flex; align-items: center; gap: 24px; height: 78px; margin-top: 12px; border-top: 1px solid rgba(54,76,56,.13); color: #899389; font-size: 9px; font-weight: 800; letter-spacing: 1.25px; }
.category-list { display: flex; align-items: center; gap: 16px; color: #667269; font-size: 11px; font-weight: 600; letter-spacing: 0; }
.category-list i { width: 3px; height: 3px; border-radius: 50%; background: #9da89b; }

/* Sections */
.section-pad { padding: 112px 0; }
.feature-section { background: var(--land-paper); }
.section-kicker { margin-bottom: 19px; }
.section-heading h2, .workflow-copy h2 { margin: 0; color: var(--land-ink); font-size: clamp(37px,4.2vw,54px); line-height: 1.1; letter-spacing: -2.8px; font-weight: 700; }
.section-heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; margin-bottom: 44px; }
.section-heading-row > p { max-width: 375px; margin: 0 0 5px; color: var(--land-muted); font-size: 13px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--land-line); border-left: 1px solid var(--land-line); }
.feature-card { min-height: 226px; position: relative; padding: 27px 28px 25px; border-right: 1px solid var(--land-line); border-bottom: 1px solid var(--land-line); background: #fffefa; transition: background .25s,transform .25s; }
.feature-card:hover { z-index: 1; background: #fbfcf7; transform: translateY(-3px); }
.feature-icon { width: 41px; height: 41px; display: grid; place-items: center; margin-bottom: 26px; border: 1px solid #e1e8dc; border-radius: 8px; background: #f3f6ef; color: var(--land-green); }
.feature-index { position: absolute; top: 33px; right: 28px; color: #aab3a8; font: 10px var(--fm); }
.feature-card h3 { margin: 0 0 8px; color: #29382d; font-size: 15px; letter-spacing: -.3px; }
.feature-card p { max-width: 300px; margin: 0; color: #758077; font-size: 11px; line-height: 1.75; }
.feature-rule { position: absolute; bottom: 0; left: 28px; width: 0; height: 2px; background: #62915a; transition: width .3s; }
.feature-card:hover .feature-rule { width: 40px; }
.workflow-section { background: #eef1e9; }
.workflow-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 90px; }
.workflow-copy { max-width: 390px; }
.workflow-copy h2 { margin: 0 0 19px; }
.workflow-copy p { margin: 0 0 24px; color: #6d796e; font-size: 13px; line-height: 1.85; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--land-green); font-size: 12px; font-weight: 800; }
.text-link svg { transition: transform .2s; }.text-link:hover svg { transform: translateX(4px); }
.workflow-board { position: relative; padding: 23px 27px 18px; border: 1px solid #dce2d7; border-radius: 9px; background: rgba(255,255,252,.9); box-shadow: 0 20px 50px rgba(41,61,43,.07); }
.workflow-topline { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid #e9ece5; color: #879186; font-size: 8px; font-weight: 800; letter-spacing: 1.3px; }
.workflow-topline > span:last-child { display: inline-flex; align-items: center; gap: 8px; color: #71846e; font-size: 7px; }
.flow-step { min-height: 77px; display: flex; align-items: center; gap: 14px; position: relative; }
.flow-icon { z-index: 1; width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border: 1px solid #dfe8da; border-radius: 8px; color: #4e7b4d; background: #f4f7f1; }
.flow-icon-kitchen { color: #8e7954; border-color: #ebe3d2; background: #faf7ef; }.flow-icon-done { color: #62846a; }
.flow-text { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.flow-text b { color: #354337; font-size: 11px; }.flow-text small { color: #919a90; font-size: 9px; }
.flow-time, .flow-status { color: #858f85; font: 9px var(--fm); }
.flow-status { padding: 5px 8px; border-radius: 4px; background: #f2f0e5; color: #8c7951; font: 700 8px var(--ff); }.flow-status.done { background: #eef4e9; color: #55764f; }
.flow-connector { position: absolute; top: 56px; left: 18px; width: 1px; height: 22px; border-left: 1px dashed #cbd6c5; }
.workflow-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 15px; border-top: 1px solid #e9ece5; color: #808b80; font-size: 8px; }
.workflow-footer span:first-child { display: inline-flex; align-items: center; gap: 7px; }.workflow-footer span:first-child svg { color: #698967; }.workflow-footer span:last-child { color: #a2aaa1; font: 7px var(--fm); letter-spacing: .8px; }

/* Pricing */
.pricing-section { background: #f9f9f4; }
.pricing-heading { margin-bottom: 42px; }
.pricing-heading .section-heading-row { margin-bottom: 0; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; gap: 14px; }
.pricing-card { min-height: 352px; position: relative; padding: 28px 27px 24px; border: 1px solid #e2e6de; border-radius: 8px; background: #fffefa; transition: transform .25s,box-shadow .25s,border-color .25s; }
.pricing-card:hover { transform: translateY(-4px); border-color: #c9d6c3; box-shadow: 0 16px 38px rgba(41,61,43,.08); }
.pricing-featured { border-color: #6b8b65; box-shadow: 0 10px 30px rgba(42,81,48,.08); }
.pricing-recommend { position: absolute; top: -1px; right: 20px; padding: 7px 10px; border-radius: 0 0 4px 4px; background: var(--land-green); color: #fff; font-size: 7px; font-weight: 800; letter-spacing: 1px; }
.plan-name { color: #354337; font-size: 14px; font-weight: 800; }
.plan-note { min-height: 19px; margin: 6px 0 22px; color: #899389; font-size: 10px; }
.plan-price { display: flex; align-items: baseline; gap: 5px; color: #26362a; font: 700 31px/1 var(--fm); letter-spacing: -1.7px; }
.plan-price > span { color: #687569; font: 600 12px var(--ff); letter-spacing: 0; }
.plan-price small { margin-left: 2px; color: #8d968c; font: 500 9px var(--ff); letter-spacing: 0; }
.plan-button { width: 100%; height: 42px; margin: 21px 0 21px; font-size: 11px; }
.plan-includes { padding-top: 17px; border-top: 1px solid #ecefe9; color: #727d73; font-size: 9px; font-weight: 700; }
.pricing-card ul { display: grid; gap: 11px; margin: 14px 0 0; padding: 0; list-style: none; }
.pricing-card li { display: flex; align-items: center; gap: 9px; color: #606d62; font-size: 10px; }
.pricing-card li svg { color: #5c8554; flex: 0 0 auto; }
.pricing-footnote { margin: 23px 0 0; color: #838d83; text-align: center; font-size: 10px; }
.pricing-footnote a { display: inline-flex; align-items: center; gap: 5px; color: var(--land-green); font-weight: 800; }

/* Closing and footer */
.closing-section { min-height: 380px; display: grid; place-items: center; position: relative; overflow: hidden; background: #204a33; color: #fff; text-align: center; }
.closing-pattern { position: absolute; inset: 0; opacity: .18; pointer-events: none; }
.closing-pattern svg { width: 100%; height: 100%; }.closing-pattern path { fill: none; stroke: #c2daa4; stroke-width: .7; }
.closing-content { position: relative; z-index: 1; padding: 68px 0; }
.closing-kicker { margin-bottom: 15px; color: #bed1b1; font-size: 9px; font-weight: 800; letter-spacing: 1.9px; }
.closing-content h2 { margin: 0; color: #fbfcf8; font-size: clamp(37px,4.4vw,55px); line-height: 1.08; letter-spacing: -2.8px; }
.closing-content p { margin: 13px 0 23px; color: #d2ded1; font-size: 12px; }
.closing-note { display: block; margin-top: 13px; color: #b9cbb7; font-size: 9px; }
.site-footer { padding: 55px 0 0; background: #fbfbf7; }
.footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr 1.3fr; gap: 44px; padding-bottom: 42px; }
.footer-brand-block p { max-width: 260px; margin: 15px 0 0; color: #828d83; font-size: 10px; line-height: 1.8; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; color: #758075; font-size: 10px; }
.footer-column b { margin-bottom: 3px; color: #344237; font-size: 10px; }
.footer-column a:hover { color: var(--land-green); }
.footer-legal { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid #e8ebe4; color: #90998f; font-size: 9px; }
.footer-legal-right { color: #728072; }

/* Motion */
@keyframes draw-chart { to { stroke-dashoffset: 0; } }
@keyframes note-drift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes live-pulse { 0%,100% { box-shadow: 0 0 0 4px #edf4e8; } 50% { box-shadow: 0 0 0 7px rgba(237,244,232,0); } }
.landing [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2,.75,.2,1),transform .7s cubic-bezier(.2,.75,.2,1); }
.landing [data-reveal].visible { opacity: 1; transform: translateY(0); }
.landing [data-reveal="1"] { transition-delay: .07s; }.landing [data-reveal="2"] { transition-delay: .14s; }.landing [data-reveal="3"] { transition-delay: .21s; }.landing [data-reveal="4"] { transition-delay: .28s; }.landing [data-reveal="5"] { transition-delay: .12s; }.landing [data-reveal="6"] { transition-delay: .18s; }

/* Responsive */
@media (max-width: 1100px) {
  .hero { min-height: auto; padding-top: 130px; }
  .hero-layout { grid-template-columns: minmax(300px,.76fr) minmax(480px,1.24fr); gap: 27px; }
  .hero h1 { font-size: clamp(48px,5.7vw,63px); letter-spacing: -3.5px; }
  .hero-product { padding-right: 0; }
  .note-revenue { right: -8px; }.note-order { left: -8px; }
  .workflow-layout { gap: 50px; }
}
@media (max-width: 850px) {
  .content-width { width: min(680px,calc(100% - 48px)); }
  .site-header-inner { width: calc(100% - 48px); }
  .desktop-nav { margin-left: 0; gap: 24px; }
  .hero { padding-top: 133px; }
  .hero-layout { grid-template-columns: 1fr; gap: 32px; }
  .hero-copy { max-width: 620px; padding: 0; }
  .hero h1 { max-width: 650px; font-size: clamp(53px,8vw,70px); }
  .hero-description { max-width: 550px; }
  .hero-product { width: min(100%,680px); margin: 0 auto; }
  .dashboard-shell { min-height: 385px; }
  .hero-bottom { margin-top: 18px; }
  .section-pad { padding: 86px 0; }
  .feature-grid { grid-template-columns: repeat(2,1fr); }
  .workflow-layout { grid-template-columns: 1fr; gap: 37px; }
  .workflow-copy { max-width: 560px; }
  .pricing-grid { gap: 10px; }
  .pricing-card { padding-inline: 19px; }
  .plan-price { font-size: 27px; }
  .footer-main { grid-template-columns: 1.6fr 1fr 1fr; }
  .footer-column:last-child { grid-column: 2 / 4; }
}
@media (max-width: 600px) {
  .content-width { width: calc(100% - 40px); }
  .site-header { height: 67px; }
  .site-header-inner { width: calc(100% - 40px); }
  .desktop-nav, .header-actions { display: none; }
  .mobile-menu-toggle { display: inline-flex; }
  .mobile-nav { position: fixed; inset: 0; z-index: 300; display: flex; flex-direction: column; padding: 20px 22px 28px; background: #f7f7f1; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .24s,visibility .24s,transform .24s; }
  .mobile-nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .mobile-nav-top { display: flex; align-items: center; justify-content: space-between; }
  .mobile-nav-close { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #e0e5dc; border-radius: 7px; background: transparent; color: var(--land-ink); }
  .mobile-nav nav { display: flex; flex-direction: column; margin-top: 53px; }
  .mobile-nav nav a { padding: 17px 0; border-bottom: 1px solid #e0e5dc; color: #26352a; font-size: 25px; font-weight: 700; letter-spacing: -.8px; }
  .mobile-nav-actions { display: grid; gap: 10px; margin-top: auto; }
  .mobile-nav-actions .button { height: 49px; }
  .hero { padding: 115px 0 0; }
  .hero-layout { gap: 20px; }
  .eyebrow { margin-bottom: 17px; font-size: 9px; letter-spacing: 1.2px; }
  .hero h1 { font-size: clamp(43px,12vw,60px); line-height: 1.05; letter-spacing: -3px; }
  .hero-description { margin: 17px 0 21px; font-size: 13px; line-height: 1.8; }
  .hero-buttons { align-items: stretch; flex-direction: column; gap: 9px; }
  .hero-buttons .button { width: 100%; }
  .button-large { height: 50px; }
  .hero-assurance { flex-wrap: wrap; gap: 7px; margin-top: 15px; font-size: 9px; }
  .hero-product { margin-top: 7px; padding: 0 0 24px; }
  .product-window { transform: none; border-radius: 8px; }
  .window-topbar { height: 30px; padding-inline: 9px; }.window-address { height: 18px; width: 145px; font-size: 6px; }.window-status { font-size: 6px; }
  .dashboard-shell { min-height: 0; }
  .dashboard-rail { width: 37px; flex-basis: 37px; }.rail-logo { height: 39px; }.rail-logo .brand-mark { width: 21px; height: 21px; }.rail-items { gap: 6px; margin-top: 10px; }.rail-item { width: 26px; height: 26px; }.rail-item svg { width: 14px; height: 14px; }
  .dashboard-main { padding: 13px 10px 11px; }
  .dashboard-heading { margin-bottom: 10px; }.dashboard-heading h2 { font-size: 11px; }.dashboard-kicker { font-size: 6px; }.date-chip { height: 20px; padding-inline: 5px; font-size: 5px; }
  .metric-grid { gap: 4px; }.metric-card { min-height: 64px; padding: 7px 6px; }.metric-label { margin-bottom: 6px; font-size: 5px; }.metric-card strong { font-size: clamp(7px,2.15vw,10px); }.metric-change,.metric-neutral { margin-top: 4px; font-size: 5px; }.metric-change small { display: none; }
  .dashboard-lower { grid-template-columns: 1.2fr .9fr; gap: 4px; margin-top: 5px; }.sales-card,.orders-card { padding: 8px 6px 6px; }.card-heading strong { font-size: 6px; }.card-heading > div > span { font-size: 5px; }.chart-period { padding: 3px; font-size: 5px; }.chart-area { height: 81px; margin-top: 8px; gap: 4px; background: repeating-linear-gradient(to bottom,transparent 0,transparent 19px,#edf0eb 20px); }.chart-y-labels,.chart-x-labels { font-size: 5px; }.chart-x-labels { padding-left: 18px; }.orders-count { width: 15px; height: 15px; font-size: 6px; }.order-row { gap: 4px; padding: 8px 0; }.order-avatar { width: 16px; height: 16px; font-size: 6px; }.order-details b,.order-amount { font-size: 5px; }.order-details small { font-size: 5px; margin-top: 2px; }
  .product-note { gap: 6px; padding: 7px 8px; border-radius: 5px; }.note-revenue { right: -4px; top: 18%; }.note-order { left: -4px; bottom: 1px; }.note-icon { width: 23px; height: 23px; }.note-icon svg { width: 14px; height: 14px; }.product-note small { font-size: 6px; }.product-note b { font-size: 8px; }.product-note i,.note-order-id { font-size: 6px; }
  .hero-bottom { min-height: 75px; height: auto; align-items: flex-start; flex-direction: column; justify-content: center; gap: 9px; margin-top: 8px; font-size: 7px; }
  .category-list { gap: 8px; font-size: 9px; }
  .section-pad { padding: 70px 0; }
  .section-kicker { margin-bottom: 15px; font-size: 8px; }
  .section-heading h2,.workflow-copy h2 { font-size: clamp(35px,9vw,46px); letter-spacing: -2px; }
  .section-heading-row { flex-direction: column; align-items: flex-start; gap: 13px; margin-bottom: 29px; }
  .section-heading-row > p { max-width: 100%; font-size: 11px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 185px; padding: 22px; }.feature-icon { margin-bottom: 18px; }.feature-index { top: 29px; right: 22px; }
  .workflow-layout { gap: 28px; }.workflow-copy p { font-size: 11px; }.workflow-board { padding: 17px 14px 14px; }.flow-step { min-height: 68px; gap: 10px; }.flow-icon { width: 33px; height: 33px; flex-basis: 33px; }.flow-text b { font-size: 10px; }.flow-text small { font-size: 8px; }.flow-connector { top: 50px; left: 16px; height: 18px; }.flow-time { font-size: 8px; }.workflow-footer { align-items: flex-start; flex-direction: column; }
  .pricing-grid { grid-template-columns: 1fr; gap: 12px; }.pricing-card { min-height: unset; padding: 23px 22px; }.plan-price { font-size: 31px; }.plan-note { margin-bottom: 17px; }.plan-button { margin: 17px 0; }
  .closing-section { min-height: 355px; }.closing-content { padding: 58px 0; }.closing-content h2 { font-size: 40px; letter-spacing: -2px; }.closing-content p { max-width: 270px; margin: 12px auto 20px; font-size: 11px; line-height: 1.7; }
  .site-footer { padding-top: 39px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 31px 18px; padding-bottom: 28px; }.footer-brand-block { grid-column: 1 / -1; }.footer-column:last-child { grid-column: auto; }.footer-legal { min-height: 54px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 4px; font-size: 8px; }.footer-legal-right { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .landing *, .landing *::before, .landing *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .landing [data-reveal] { opacity: 1; transform: none; }
}

/* 2026 art direction: editorial hospitality identity */
.site-header .brand-word, .site-header .brand-word span { color: #f3f4ec; }
.site-header .brand-mark { color: #173729; background: #d6e6c2; }
.site-header .desktop-nav a, .site-header .login-link { color: #d2ddd1; }
.site-header .desktop-nav a:hover, .site-header .login-link:hover { color: #fff; }
.site-header .button-dark { color: #173729; background: #d6e6c2; box-shadow: none; }
.site-header .button-dark:hover { background: #ecf3df; }
.site-header.scrolled { background: rgba(250,250,245,.96); border-color: #e3e7de; }
.site-header.scrolled .brand-word { color: var(--land-ink); }
.site-header.scrolled .brand-word span { color: var(--land-green); }
.site-header.scrolled .brand-mark { color: #fff; background: var(--land-green); }
.site-header.scrolled .desktop-nav a, .site-header.scrolled .login-link { color: #566258; }
.site-header.scrolled .button-dark { color: #fff; background: var(--land-green); }
.site-header .mobile-menu-toggle { color: #f2f4eb; border-color: rgba(222,235,214,.28); }
.site-header.scrolled .mobile-menu-toggle { color: var(--land-ink); border-color: var(--land-line); }
.hero { min-height: 796px; background: #173729; }
.hero-background { background: linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 154px 100%; }
.hero-background::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 85% at 80% 50%,rgba(125,175,117,.11),transparent 70%); }
.hero-watermark { position: absolute; top: 95px; right: -60px; color: rgba(217,233,202,.035); font-size: clamp(320px,40vw,580px); font-weight: 800; line-height: 1; letter-spacing: -60px; user-select: none; }
.hero-copy { padding-bottom: 48px; }
.hero .eyebrow { color: #b7d0a8; }
.hero .eyebrow-mark { color: #d2e7c4; border-color: rgba(208,232,193,.35); }
.hero h1 { color: #faf9f1; font-size: clamp(48px,5vw,68px); letter-spacing: -3.7px; }
.hero h1 em { display: inline-block; color: #d5e7bb; font-family: 'Instrument Serif', Georgia, serif; font-size: 1.16em; font-weight: 400; font-style: italic; letter-spacing: -2.8px; white-space: nowrap; }
.hero-description { color: #bfd0bf; font-size: 14px; }
.hero .button-dark { color: #1e3d2a; background: #d5e7bb; box-shadow: 0 12px 25px rgba(0,0,0,.12); }
.hero .button-dark:hover { background: #e8f0d5; }
.hero .button-outline { color: #f2f6eb; border-color: rgba(220,237,211,.35); background: rgba(255,255,255,.035); }
.hero .button-outline:hover { color: #173729; background: #eef4e2; }
.hero-assurance { color: #bacbb6; }.hero .assurance-check { color: #d2eabf; border-color: rgba(217,238,203,.5); }.hero .assurance-divider { background: rgba(217,238,203,.3); }
.hero-bottom { border-top-color: rgba(220,237,211,.25); color: #abc3a9; }.hero-bottom .category-list { color: #dae7d3; }.hero-bottom .category-list i { background: #9fbaa0; }
.product-window { border-color: rgba(255,255,255,.5); box-shadow: 0 44px 90px rgba(0,0,0,.29),0 6px 18px rgba(0,0,0,.09); }
.hero-product:hover .product-window { box-shadow: 0 50px 100px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.09); }
.feature-section { background: #f3f1e9; }.feature-card { background: #faf9f4; }.feature-card:hover { background: #fffefb; }
.section-heading h2, .workflow-copy h2 { font-size: clamp(38px,4.2vw,54px); }
.section-heading h2 em, .workflow-copy h2 em { color: #477252; font-family: 'Instrument Serif', Georgia, serif; font-size: 1.13em; font-weight: 400; font-style: italic; letter-spacing: -1.5px; }
.feature-grid { grid-template-columns: repeat(2,1fr); }
.feature-card { min-height: 185px; padding: 24px 29px 21px; }
.feature-icon { margin-bottom: 17px; }
.feature-card h3 { font-size: 16px; }.feature-card p { max-width: 390px; font-size: 12px; }
.workflow-section { background: #fcfcf8; }
.workflow-board { background: #f8faf5; }
.pricing-section { background: #eeefe8; }
.closing-section { background: #d4e5be; color: #183628; }
.closing-pattern { opacity: .38; }.closing-pattern path { stroke: #688d65; }
.closing-kicker { color: #547a50; }.closing-content h2 { color: #183628; }.closing-content p { color: #526c53; }.closing-note { color: #688168; }
.closing-section .button-cream { color: #fff; background: #205038; }.closing-section .button-cream:hover { background: #153b29; }
.site-footer { background: #173729; }.site-footer .brand-mark { background: #d6e6c2; color: #173729; }.site-footer .brand-word, .site-footer .brand-word span { color: #f4f5ed; }.site-footer .footer-brand-block p, .site-footer .footer-column { color: #afc5b0; }.site-footer .footer-column b { color: #f1f4e9; }.site-footer .footer-column a:hover { color: #fff; }.site-footer .footer-legal { border-top-color: rgba(215,232,207,.17); color: #91ab96; }.site-footer .footer-legal-right { color: #afc5b0; }
@media (max-width: 850px) {
  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(49px,7.3vw,67px); }
}
@media (max-width: 600px) {
  .hero { padding-top: 115px; }
  .hero h1 { font-size: clamp(40px,10.5vw,56px); letter-spacing: -2.9px; }
  .hero h1 em { font-size: 1.08em; letter-spacing: -1.5px; white-space: normal; }
  .hero-description { font-size: 13px; }
  .hero-watermark { top: 110px; right: -70px; font-size: 280px; letter-spacing: -35px; }
  .site-header .mobile-menu-toggle { display: inline-flex; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 180px; padding: 22px; }
  .section-heading h2 em, .workflow-copy h2 em { font-size: 1.08em; }
}

/* Legibility and restrained motion details */
.hero-description { font-size: 15px; }
.feature-card p { font-size: 13px; line-height: 1.7; }
.plan-note { font-size: 12px; }
.plan-button { font-size: 12px; }
.plan-includes { font-size: 11px; }
.pricing-card li { font-size: 12px; }
.pricing-footnote { font-size: 11px; }
.footer-brand-block p, .footer-column { font-size: 12px; }
.flow-step .flow-connector { transform-origin: top; transform: scaleY(0); transition: transform .45s ease .4s; }
.workflow-board.visible .flow-step .flow-connector { transform: scaleY(1); }
.workflow-board.visible .flow-step:nth-of-type(3) .flow-connector { transition-delay: .8s; }
@media (max-width: 850px) { .hero-copy { padding-bottom: 0; } }
@media (max-width: 600px) { .hero-description { font-size: 13px; } .feature-card p { font-size: 12px; } .plan-note { font-size: 11px; } .pricing-card li { font-size: 12px; } }
