/* Shared demo primitives. Homepage brand styling lives in nodo-brand.css. */
.nodo-demo-brand, .nodo-demo-cta { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.nodo-demo-brand img { display: block; width: 28px; height: 28px; object-fit: contain; }.nodo-demo-brand i { color: rgba(255,255,255,.38); font-style: normal; font-weight: 400; }.nodo-demo-brand small { color: rgba(255,255,255,.56); font-size: 11px; font-weight: 500; letter-spacing: .01em; }
.nodo-demo-brand em { color: #aaa89f; font-style: normal; font-weight: 400; }
.nodo-demo-nav { display: flex; align-items: center; gap: 20px; color: #c5c3bb; font-size: 13px; }
.nodo-demo-nav a.is-current { color: white; border-bottom: 1px solid var(--nodo-pink, #ed25a7); }
.bar-note { color: #8d8c85; }
.nodo-demo-cta { padding: 12px 17px; border-radius: 999px; color: white; background: linear-gradient(110deg, #ed25a7, #8c37e6); box-shadow: 0 8px 22px rgba(222,24,165,.25); }
.nodo-demo-cta span, .site-footer a span { color: var(--nodo-pink, #ed25a7); }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 28px 20px 110px; color: #706e67; background: #f4f1eb; font-size: 13px; }
.site-footer > div { display: inline-flex; align-items: center; gap: 8px; color: #191917; }
.site-footer p { margin: 0; }
.site-footer a { color: #191917; font-weight: 700; }

/* Primitives consumed by the autonomous restaurant demo. */
body { margin: 0; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { margin: 0; font-weight: 500; line-height: 1.05; letter-spacing: -.045em; }
.nodo-demo-bar { position: fixed; z-index: 20; top: 12px; left: 50%; display: flex; width: min(560px, calc(100% - 32px)); min-height: 44px; align-items: center; justify-content: space-between; gap: 18px; padding: 7px 9px 7px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: white; background: rgba(29,30,28,.94); box-shadow: 0 12px 30px rgba(0,0,0,.28); transform: translateX(-50%); }
.nodo-demo-notice { color: rgba(255,255,255,.58); font: 11px Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.nodo-mark { display: inline-grid; width: 28px; height: 28px; place-items: center; color: white; background: var(--nodo-pink, #ed25a7); font: 700 15px/1 Arial; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid var(--nodo-pink, #ed25a7); color: white; background: var(--nodo-pink, #ed25a7); font-weight: 700; }
.button.light { color: #191917; background: transparent; }
.button.secondary { color: white; background: transparent; }
.hero-actions, .section-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.eyebrow { margin: 0 0 18px; color: var(--nodo-pink, #ed25a7); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 760px) { .nodo-demo-bar { top: 10px; right: 10px; left: 10px; width: auto; gap: 8px; padding: 7px 8px 7px 10px; transform: none; } .nodo-demo-notice { font-size: 9px; letter-spacing: .04em; } .nodo-demo-nav { display: none; } .nodo-demo-cta { padding: 10px 13px; font-size: 12px; } .site-footer { align-items: flex-start; flex-direction: column; } }
