:root {
  --red: #d41635;
  --red-dark: #9f0a24;
  --coral: #ff5365;
  --lime: #dfff6c;
  --ink: #171719;
  --muted: #6e6c72;
  --paper: #ffffff;
  --soft: #f7f6f3;
  --line: #e9e7e3;
  --display: "Manrope", Arial, sans-serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 26px 80px rgba(32, 24, 21, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.is-intro { overflow: hidden; }
body::selection { color: white; background: var(--red); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(223,255,108,.8); outline-offset: 3px; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.intro { position: fixed; inset: 0; z-index: 999; display: grid; visibility: hidden; place-content: center; gap: 15px; color: white; background: var(--red); opacity: 0; text-align: center; transition: opacity .6s ease, visibility .6s ease; }
.intro.is-playing { visibility: visible; opacity: 1; animation: introExit .6s 1.05s ease forwards; }
.intro.is-done { visibility: hidden; opacity: 0; }
.intro-logo { width: 118px; height: 118px; margin-inline: auto; border-radius: 28px; box-shadow: 0 24px 60px rgba(71,0,12,.28); animation: introPulse 1.05s cubic-bezier(.2,.8,.2,1) both; }
.intro-logo img { width: 160px; height: 160px; transform: translate(-21px, -21px); }
.intro small { font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; opacity: .65; animation: introUp .55s .22s ease both; }
.scroll-progress { position: fixed; top: 0; right: 0; left: 0; z-index: 110; height: 3px; pointer-events: none; }
.scroll-progress span { width: 100%; height: 100%; display: block; background: var(--lime); transform: scaleX(0); transform-origin: left; }
@keyframes introPulse { from { opacity: 0; transform: scale(.82); letter-spacing: -.13em; } to { opacity: 1; transform: scale(1); letter-spacing: -.08em; } }
@keyframes introUp { from { opacity: 0; transform: translateY(9px); } }
@keyframes introExit { to { visibility: hidden; opacity: 0; } }

.hero { position: relative; min-height: 880px; overflow: hidden; color: white; background: var(--red); isolation: isolate; }
.hero::before { position: absolute; inset: 0; z-index: -4; content: ""; background: radial-gradient(circle at 63% 27%, rgba(255,119,133,.6), transparent 27%), radial-gradient(circle at 4% 10%, rgba(255,255,255,.12), transparent 22%), linear-gradient(135deg, #dd1a3a 0%, #c20d2c 57%, #980921 100%); }
.hero::after { position: absolute; inset: 0; z-index: -3; content: ""; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E"); }
.nav { position: fixed; top: 0; right: 0; left: 0; z-index: 90; min-height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: white; border-bottom: 1px solid rgba(255,255,255,.17); transition: min-height .25s ease, background .25s ease, box-shadow .25s ease; }
.nav.page-nav { width: 100%; min-height: 70px; padding-inline: max(24px, calc((100vw - 1180px) / 2)); color: var(--ink); background: rgba(255,255,255,.93); border-bottom-color: rgba(23,23,25,.08); box-shadow: 0 10px 35px rgba(40,31,27,.08); backdrop-filter: blur(18px); }
.nav.page-nav .brand-word { color: var(--ink); }
.nav.page-nav .brand-word small { color: var(--muted); }
.nav.page-nav .nav-links a::after { background: var(--red); }
.nav.page-nav .nav-cta { color: white; background: var(--red); border-color: var(--red); }
.nav.page-nav .nav-cta:hover { background: var(--red-dark); border-color: var(--red-dark); }
.logo { width: fit-content; display: inline-flex; align-items: center; gap: 10px; color: white; }
.brand-logo { position: relative; width: 46px; height: 46px; display: block; flex: 0 0 auto; overflow: hidden; background: white; border: 1px solid rgba(255,255,255,.65); border-radius: 13px; box-shadow: 0 7px 20px rgba(46,10,15,.12); }
.brand-logo img { width: 63px; height: 63px; max-width: none; display: block; object-fit: cover; transform: translate(-8.5px, -8.5px); }
.brand-word { display: flex; flex-direction: column; font-family: var(--display); font-size: 14px; font-weight: 800; letter-spacing: -.045em; line-height: 1; }
.brand-word small { margin-top: 5px; color: rgba(255,255,255,.58); font-family: var(--sans); font-size: 5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 30px; font-size: 12px; font-weight: 600; }
.nav-links a { position: relative; opacity: .77; transition: opacity .2s ease; }
.nav-links a::after { position: absolute; right: 0; bottom: -11px; left: 0; height: 2px; content: ""; background: var(--lime); border-radius: 2px; transform: scaleX(0); transition: transform .2s ease; }
.nav-links a:hover, .nav-links a.is-active { opacity: 1; }
.nav-links a.is-active::after { transform: scaleX(1); }
.nav-actions { justify-self: end; display: flex; align-items: center; gap: 17px; }
.nav-login { font-size: 11px; font-weight: 700; }
.nav-cta { padding: 11px 16px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; font-size: 11px; font-weight: 700; transition: color .2s ease, background .2s ease; }
.nav-cta:hover { color: var(--red-dark); background: white; }
.nav-cta span { margin-left: 8px; }

.hero-layout { position: relative; z-index: 3; min-height: 730px; padding-top: 135px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 58px; }
.hero-copy { padding-bottom: 70px; }
.hero-kicker { margin-bottom: 20px; display: flex; align-items: center; gap: 8px; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-kicker span { color: var(--lime); }
.hero h1 { margin-bottom: 24px; font-family: var(--display); font-size: clamp(56px, 5.4vw, 79px); font-weight: 800; letter-spacing: -.073em; line-height: .96; }
.hero h1 em { color: white; font-style: normal; opacity: .73; }
.hero-lead { max-width: 580px; margin-bottom: 28px; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.72; }
.hero-actions { display: flex; gap: 10px; }
.button { min-height: 50px; padding: 13px 19px; display: inline-flex; justify-content: center; align-items: center; gap: 20px; border: 1px solid transparent; border-radius: 12px; font-size: 11px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-light { color: var(--red-dark); background: white; box-shadow: 0 14px 35px rgba(82,0,14,.22); }
.button-ghost { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); backdrop-filter: blur(8px); }
.hero-proof { margin-top: 23px; display: flex; flex-wrap: wrap; gap: 17px; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 600; }
.hero-proof span { display: flex; align-items: center; gap: 5px; }
.hero-proof i { width: 16px; aspect-ratio: 1; display: grid; place-items: center; color: #233009; background: var(--lime); border-radius: 50%; font-size: 7px; font-style: normal; font-weight: 900; }

.hero-product { position: relative; padding-bottom: 65px; perspective: 1400px; }
.dashboard-shell { overflow: hidden; color: #272329; background: #f8f7f6; border: 1px solid rgba(255,255,255,.55); border-radius: 20px; box-shadow: 0 35px 90px rgba(72,0,11,.31); transform: rotateY(-4deg) rotateX(1deg); transform-origin: center; transition: transform .35s ease; }
.hero-product:hover .dashboard-shell { transform: rotateY(0) rotateX(0) translateY(-4px); }
.dashboard-topbar { height: 41px; padding: 0 14px; display: flex; justify-content: space-between; align-items: center; color: #676169; background: white; border-bottom: 1px solid #e9e6e5; font-size: 7px; }
.window-dots { display: flex; gap: 4px; }
.window-dots i { width: 6px; aspect-ratio: 1; background: #d8d4d3; border-radius: 50%; }
.dashboard-topbar strong { color: #423d42; font-size: 8px; }
.live { padding: 4px 7px; display: flex; align-items: center; gap: 4px; background: #e9f9ee; border-radius: 99px; }
.live i { width: 5px; aspect-ratio: 1; background: #24a453; border-radius: 50%; box-shadow: 0 0 0 3px rgba(36,164,83,.13); }
.dashboard-body { min-height: 405px; display: grid; grid-template-columns: 49px 1fr; }
.dashboard-body aside { padding: 13px 7px; display: flex; align-items: center; flex-direction: column; gap: 12px; color: #817b81; background: #1a191b; }
.dashboard-body aside b { width: 27px; aspect-ratio: 1; margin-bottom: 6px; display: grid; place-items: center; color: var(--red); background: white; border-radius: 8px; font-size: 10px; }
.dashboard-body aside span { width: 28px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 8px; font-size: 11px; }
.dashboard-body aside .active { color: white; background: var(--red); }
.dashboard-main { padding: 22px 20px; }
.dashboard-welcome { display: flex; justify-content: space-between; align-items: center; }
.dashboard-welcome div { display: flex; flex-direction: column; }
.dashboard-welcome small { color: #9a9499; font-size: 5px; font-weight: 800; letter-spacing: .1em; }
.dashboard-welcome strong { margin-top: 4px; font-family: var(--display); font-size: 14px; letter-spacing: -.03em; }
.dashboard-welcome button { padding: 7px 9px; color: #5b565b; background: white; border: 1px solid #e6e2e0; border-radius: 7px; font-size: 6px; }
.metric-row { margin-top: 19px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.metric-row article { min-width: 0; padding: 11px; display: flex; flex-direction: column; background: white; border: 1px solid #ebe8e5; border-radius: 9px; }
.metric-row small { color: #989298; font-size: 5px; font-weight: 800; letter-spacing: .08em; }
.metric-row strong { margin: 7px 0 4px; font-family: var(--display); font-size: 15px; letter-spacing: -.04em; }
.metric-row span { color: #898389; font-size: 5px; }
.metric-row .up { color: #199454; }
.dashboard-grid { margin-top: 9px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 8px; }
.sales-panel, .orders-panel { min-width: 0; padding: 12px; background: white; border: 1px solid #ebe8e5; border-radius: 9px; }
.sales-panel > div:first-child, .panel-title { display: flex; justify-content: space-between; align-items: center; }
.sales-panel strong, .panel-title strong { font-size: 7px; }
.sales-panel small, .panel-title span { color: #9b959a; font-size: 5px; }
.chart { position: relative; height: 97px; margin-top: 10px; overflow: hidden; }
.chart > i { position: absolute; right: 0; left: 0; height: 1px; background: #f0eeec; }
.chart > i:nth-child(2) { top: 25%; }.chart > i:nth-child(3) { top: 50%; }.chart > i:nth-child(4) { top: 75%; }
.chart svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.chart path:not(.area) { fill: none; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart .area { fill: url(#area); }
.chart-labels { display: flex; justify-content: space-between; color: #aaa3a8; font-size: 4px; }
.orders-panel { padding-bottom: 5px; }
.order { padding-block: 10px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid #f0eeec; }
.order:last-child { border: 0; }
.channel { width: 22px; aspect-ratio: 1; display: grid; flex: 0 0 auto; place-items: center; border-radius: 6px; font-size: 6px; font-style: normal; font-weight: 800; }
.dine { color: #4f5dbc; background: #e9ebfb; }.online { color: #a15312; background: #fff1df; }.take { color: #18814a; background: #e4f6ea; }
.order p { min-width: 0; margin: 0; display: flex; flex: 1; flex-direction: column; }
.order p strong { overflow: hidden; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.order p small { margin-top: 2px; color: #9a9499; font-size: 4px; }
.order > b { color: #746e74; font-size: 4px; font-weight: 700; }
.float-card { position: absolute; z-index: 3; padding: 11px; display: flex; align-items: center; gap: 9px; color: #252125; background: rgba(255,255,255,.95); border: 1px solid rgba(255,255,255,.8); border-radius: 11px; box-shadow: 0 16px 40px rgba(56,0,9,.25); backdrop-filter: blur(10px); animation: float 4s ease-in-out infinite; }
.float-card > span { width: 27px; aspect-ratio: 1; display: grid; place-items: center; color: #26320a; background: var(--lime); border-radius: 8px; font-size: 8px; font-weight: 900; }
.float-card p { margin: 0; display: flex; flex-direction: column; }
.float-card p small { color: #999297; font-size: 4px; font-weight: 800; letter-spacing: .08em; }
.float-card p strong { margin-top: 3px; font-size: 7px; }
.float-card > b { margin-left: 7px; color: #18814a; font-size: 5px; }
.kitchen-card { right: -19px; bottom: 37px; }
.stock-card { top: 75px; left: -33px; animation-delay: -1.7s; }
.stock-card > span { color: #9b1c2a; background: #ffdee3; }
.stock-card > b { color: var(--red); }
.hero-food { position: absolute; right: 0; bottom: -1px; left: 0; z-index: -1; height: 330px; background: url("assets/yulo-food-hero.png") center 72% / cover no-repeat; pointer-events: none; transition: transform .45s cubic-bezier(.2,.8,.2,1); will-change: transform; }
.hero-food::before { position: absolute; inset: 0; content: ""; background: linear-gradient(to bottom, var(--red) 0, rgba(190,14,44,.5) 31%, transparent 78%); }
.scroll-cue { position: absolute; right: 24px; bottom: 26px; z-index: 5; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.75); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue i { width: 28px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-style: normal; }
.hero-sparks i { position: absolute; z-index: 1; color: rgba(255,255,255,.5); font-style: normal; animation: spark 5s ease-in-out infinite; }
.hero-sparks i:nth-child(1) { top: 18%; left: 5%; color: var(--lime); }.hero-sparks i:nth-child(2) { top: 31%; right: 4%; font-size: 5px; animation-delay: -2s; }.hero-sparks i:nth-child(3) { top: 61%; left: 3%; animation-delay: -3s; }.hero-sparks i:nth-child(4) { top: 14%; right: 27%; color: #ffd2de; font-size: 6px; animation-delay: -1s; }.hero-sparks i:nth-child(5) { top: 51%; right: 2%; color: var(--lime); animation-delay: -4s; }
@keyframes float { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes spark { 0%,100% { transform: translateY(0) rotate(0); opacity: .3; } 50% { transform: translateY(-18px) rotate(120deg); opacity: .9; } }

.impact { position: relative; padding: 145px 0 125px; overflow: hidden; background: #fbfaf8; }
.impact::before { position: absolute; top: -48px; left: -5%; width: 110%; height: 90px; content: ""; background: #fbfaf8; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.section-heading { width: min(720px, calc(100% - 40px)); margin: 0 auto 72px; text-align: center; }
.overline { margin-bottom: 14px; color: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.section-heading h2, .operations-copy h2, .demo-copy h2 { margin-bottom: 20px; font-family: var(--display); font-size: clamp(48px, 5vw, 72px); font-weight: 800; letter-spacing: -.065em; line-height: 1.02; }
.section-heading h2 em, .demo-copy h2 em { color: var(--red); font-style: normal; }
.section-heading > p:last-child { max-width: 620px; margin: 0 auto; color: var(--muted); font-size: 14px; line-height: 1.75; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 18px 60px rgba(31,24,20,.08); }
.stats article { min-height: 143px; padding: 29px 39px; display: flex; align-items: center; gap: 19px; border-right: 1px solid var(--line); }
.stats article:last-child { border: 0; }
.stat-icon { width: 50px; aspect-ratio: 1; display: grid; flex: 0 0 auto; place-items: center; color: var(--red); background: #fff0f2; border-radius: 16px; font-size: 21px; }
.stats article div { display: flex; flex-direction: column; }
.stats strong { font-family: var(--display); font-size: 20px; letter-spacing: -.045em; }
.stats small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.flavour-loop { overflow: hidden; color: var(--red); background: white; border-block: 1px solid var(--line); }
.flavour-loop div { width: max-content; height: 64px; display: flex; align-items: center; gap: 32px; animation: marquee 25s linear infinite; }
.flavour-loop span { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .1em; }
.flavour-loop i { color: #e8a6b0; font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }

.platform { padding: 150px 0 165px; overflow: hidden; background: white; }
.platform-layout { display: grid; grid-template-columns: .76fr 1.24fr; align-items: start; gap: 54px; }
.module-list { display: grid; gap: 11px; }
.module-tab { width: 100%; min-height: 74px; padding: 11px 14px; display: grid; grid-template-columns: 25px 39px 1fr auto; align-items: center; gap: 10px; color: var(--ink); background: #faf9f7; border: 1px solid #f0eeeb; border-radius: 14px; cursor: pointer; text-align: left; transition: background .25s ease, border .25s ease, transform .25s ease; }
.module-tab:hover, .module-tab.is-active { background: white; border-color: rgba(212,22,53,.25); box-shadow: 0 12px 34px rgba(30,22,18,.07); transform: translateX(5px); }
.module-tab > span { color: #b0aaad; font-size: 7px; font-weight: 800; }
.module-tab > i { width: 38px; aspect-ratio: 1; display: grid; place-items: center; color: var(--red); background: #fff0f2; border-radius: 11px; font-size: 14px; font-style: normal; }
.module-tab div { display: flex; flex-direction: column; }
.module-tab strong { font-family: var(--display); font-size: 12px; letter-spacing: -.02em; }
.module-tab small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.module-tab > b { color: var(--red); font-size: 11px; opacity: 0; transform: translateX(-5px); transition: .2s ease; }
.module-tab.is-active > b { opacity: 1; transform: none; }
.module-stage { position: sticky; top: 95px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 21px; box-shadow: var(--shadow); }
.stage-top { height: 42px; padding: 0 15px; display: flex; justify-content: space-between; align-items: center; color: #8e888d; background: #fbfaf9; border-bottom: 1px solid var(--line); }
.stage-top > span { display: flex; gap: 4px; }
.stage-top > span i { width: 6px; aspect-ratio: 1; background: #ddd8d5; border-radius: 50%; }
.stage-top small { font-size: 6px; font-weight: 800; letter-spacing: .13em; }
.stage-top b { font-size: 6px; }
.stage-content { padding: 29px; }
.stage-heading { display: grid; grid-template-columns: 50px 1fr; gap: 15px; }
.stage-heading > span { width: 50px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--red); border-radius: 15px; font-size: 20px; }
.stage-heading small { color: var(--red); font-size: 6px; font-weight: 800; letter-spacing: .12em; }
.stage-heading h3 { margin: 4px 0 6px; font-family: var(--display); font-size: 24px; letter-spacing: -.05em; }
.stage-heading p { max-width: 510px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.stage-visual { min-height: 250px; margin-top: 24px; padding: 18px; overflow: hidden; background: #f6f4f2; border: 1px solid #ece9e6; border-radius: 16px; transition: opacity .2s ease, transform .2s ease; }
.stage-visual.is-changing { opacity: .2; transform: translateY(5px); }
.visual-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.visual-summary article { padding: 10px 12px; display: flex; flex-direction: column; background: white; border: 1px solid #eae7e4; border-radius: 9px; }
.visual-summary small { color: #999398; font-size: 5px; font-weight: 800; }
.visual-summary strong { margin-top: 4px; font-family: var(--display); font-size: 17px; }
.visual-board { margin-top: 10px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.visual-board article { min-height: 135px; padding: 12px; display: flex; flex-direction: column; align-items: flex-start; background: white; border: 1px solid #eae7e4; border-top: 3px solid var(--red); border-radius: 9px; }
.visual-board span { color: #aaa4a8; font-size: 5px; font-weight: 800; }
.visual-board b { margin-top: 11px; font-size: 8px; }
.visual-board small { margin-top: 4px; color: #777177; font-size: 6px; }
.visual-board i { margin-top: auto; padding: 4px 6px; color: var(--red); background: #fff0f2; border-radius: 99px; font-size: 4px; font-style: normal; font-weight: 800; }
.stage-points { margin-top: 18px; display: flex; justify-content: space-between; gap: 12px; }
.stage-points span { display: flex; align-items: center; gap: 5px; color: #666066; font-size: 7px; }
.stage-points i { width: 16px; aspect-ratio: 1; display: grid; place-items: center; color: #23864d; background: #e6f5eb; border-radius: 50%; font-size: 7px; font-style: normal; }

.operations { position: relative; padding: 155px 0; overflow: hidden; color: white; background: #171719; }
.operations-orbit { position: absolute; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; }
.orbit-one { top: -250px; right: -170px; width: 600px; box-shadow: 0 0 0 70px rgba(255,255,255,.012), 0 0 0 140px rgba(255,255,255,.01); }
.orbit-two { bottom: -180px; left: -120px; width: 390px; }
.operations-layout { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 110px; }
.operations-copy h2 { font-size: clamp(47px, 4.6vw, 67px); }
.operations-copy h2 em { color: #e8d5a3; font-style: normal; }
.operations-copy > p:not(.overline) { max-width: 510px; margin-bottom: 28px; color: rgba(255,255,255,.54); font-size: 13px; line-height: 1.7; }
.operations-copy .overline { color: #e8d5a3; }
.button-coral { color: white; background: var(--red); }
.workflow { position: relative; display: grid; gap: 12px; }
.workflow::before { position: absolute; top: 30px; bottom: 30px; left: 28px; width: 1px; content: ""; background: linear-gradient(var(--lime), rgba(223,255,108,.05)); }
.workflow article { position: relative; padding: 15px 17px; display: grid; grid-template-columns: 27px 40px 1fr auto; align-items: center; gap: 11px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; backdrop-filter: blur(8px); transition: transform .22s ease, background .22s ease; }
.workflow article:hover { background: rgba(255,255,255,.09); transform: translateX(6px); }
.workflow article > span { position: relative; z-index: 1; width: 23px; aspect-ratio: 1; display: grid; place-items: center; color: #1b1b1b; background: var(--lime); border: 4px solid #252527; border-radius: 50%; font-size: 5px; font-weight: 800; }
.workflow article > i { width: 39px; aspect-ratio: 1; display: grid; place-items: center; color: #e8d5a3; background: rgba(232,213,163,.09); border-radius: 11px; font-style: normal; }
.workflow article div { display: flex; flex-direction: column; }
.workflow strong { font-size: 10px; }
.workflow small { margin-top: 4px; color: rgba(255,255,255,.42); font-size: 7px; }
.workflow article > b { color: var(--lime); font-size: 6px; text-transform: uppercase; }

.bento { padding: 150px 0; background: white; }
.bento-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }
.bento-card { position: relative; min-height: 305px; padding: 29px; overflow: hidden; background: var(--soft); border: 1px solid var(--line); border-radius: 21px; }
.bento-large { grid-row: span 2; min-height: 624px; display: flex; flex-direction: column; justify-content: space-between; }
.bento-tag { color: var(--red); font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.bento-card h3 { max-width: 420px; margin: 15px 0 11px; font-family: var(--display); font-size: 28px; letter-spacing: -.05em; line-height: 1.08; }
.bento-card p { max-width: 500px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.outlet-map { position: relative; height: 320px; overflow: hidden; background: #ebe8e3; border-radius: 16px; }
.outlet-map::before, .outlet-map::after { position: absolute; content: ""; background: white; border: 1px solid #ded9d4; transform: rotate(-19deg); }
.outlet-map::before { top: -30px; left: 42%; width: 31px; height: 390px; }.outlet-map::after { top: 42%; left: -40px; width: 680px; height: 27px; transform: rotate(13deg); }
.map-line { position: absolute; z-index: 1; height: 3px; background: var(--red); transform-origin: left; }
.line-a { top: 66%; left: 17%; width: 50%; transform: rotate(-34deg); }.line-b { top: 35%; left: 53%; width: 30%; transform: rotate(26deg); }
.pin { position: absolute; z-index: 2; width: 31px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--red); border: 5px solid white; border-radius: 50% 50% 50% 4px; box-shadow: 0 6px 15px rgba(80,10,20,.2); font-size: 6px; font-style: normal; }
.p1 { top: 25%; left: 49%; }.p2 { top: 57%; left: 19%; }.p3 { top: 59%; right: 17%; }
.outlet-map article { position: absolute; right: 18px; bottom: 17px; z-index: 4; width: 145px; padding: 14px; display: flex; flex-direction: column; background: rgba(255,255,255,.94); border-radius: 12px; box-shadow: 0 12px 28px rgba(24,20,18,.13); }
.outlet-map article small { color: #999; font-size: 5px; font-weight: 800; }
.outlet-map article strong { margin-top: 7px; font-family: var(--display); font-size: 22px; }
.outlet-map article span { color: var(--muted); font-size: 6px; }
.bento-red { color: white; background: var(--red); border-color: var(--red); }
.bento-red .bento-tag { color: #ffd4da; }
.alert-stack { margin-top: 26px; display: grid; gap: 8px; }
.alert-stack > span { padding: 11px; display: flex; align-items: center; gap: 9px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; }
.alert-stack i { width: 29px; aspect-ratio: 1; display: grid; place-items: center; color: var(--red-dark); background: white; border-radius: 8px; font-size: 9px; font-style: normal; font-weight: 800; }
.alert-stack p { margin: 0; display: flex; flex-direction: column; color: white; }
.alert-stack p strong { font-size: 8px; }.alert-stack p small { margin-top: 3px; font-size: 6px; opacity: .6; }
.device-row { height: 115px; margin-top: 29px; display: flex; justify-content: center; align-items: flex-end; gap: 10px; }
.device { display: grid; place-items: center; color: white; background: #222; border: 4px solid #393639; border-radius: 7px; font-family: var(--display); font-size: 15px; font-style: normal; }
.desktop { width: 155px; height: 96px; }.tablet { width: 70px; height: 91px; }.mobile { width: 39px; height: 75px; border-radius: 9px; }
.support-status { margin-top: 28px; padding: 12px; display: flex; align-items: center; gap: 11px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.support-status > i { width: 10px; aspect-ratio: 1; background: #2aaa5b; border: 3px solid #dff4e7; border-radius: 50%; }
.support-status span { display: flex; flex-direction: column; }
.support-status strong { font-size: 8px; }.support-status small { margin-top: 3px; color: var(--muted); font-size: 6px; }

.solutions { padding: 150px 0; background: #f7f6f3; }
.solution-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 20px; }
.solution-card { position: relative; min-height: 440px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: white; background-color: #6d5550; background-image: linear-gradient(to top, rgba(18,7,6,.9), rgba(20,14,13,.05) 67%), url("assets/yulo-food-hero.png"); background-size: auto 620px; background-blend-mode: normal, multiply; border-radius: 21px; box-shadow: 0 18px 45px rgba(30,21,18,.13); transition: transform .28s ease; }
.solution-card:hover { transform: translateY(-6px); }
.card-cafe { background-position: 0 100%; }.card-dining { background-position: 47% 100%; }.card-qsr { background-position: 100% 76%; }
.solution-card > small { width: fit-content; padding: 7px 9px; background: rgba(0,0,0,.27); border: 1px solid rgba(255,255,255,.28); border-radius: 99px; backdrop-filter: blur(9px); font-size: 6px; font-weight: 800; letter-spacing: .12em; }
.solution-card div { display: flex; flex-direction: column; }
.solution-card strong { font-family: var(--display); font-size: 27px; letter-spacing: -.05em; line-height: 1.05; }
.solution-card span { margin-top: 12px; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

.demo { min-height: 735px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; color: var(--ink); background: white; border-top: 1px solid var(--line); }
.demo-art { position: relative; min-height: 735px; background: linear-gradient(to top, rgba(101,0,18,.52), transparent), url("assets/yulo-food-hero.png") center / cover; }
.demo-pulse { position: absolute; right: 50%; bottom: 75px; width: min(380px, calc(100% - 50px)); padding: 28px; display: flex; flex-direction: column; color: var(--ink); background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.8); border-radius: 21px; box-shadow: 0 28px 70px rgba(60,0,9,.3); backdrop-filter: blur(13px); transform: translateX(50%) rotate(-4deg); }
.demo-pulse > span { width: fit-content; padding: 5px 8px; color: #248450; background: #e4f5e9; border-radius: 99px; font-size: 6px; font-weight: 800; letter-spacing: .1em; }
.demo-pulse > strong { margin: 23px 0 30px; font-family: var(--display); font-size: 30px; letter-spacing: -.05em; line-height: 1.06; }
.demo-pulse div { padding-top: 20px; display: flex; align-items: center; gap: 13px; border-top: 1px solid var(--line); }
.demo-pulse i { width: 45px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--red); border-radius: 13px; font-size: 14px; font-style: normal; font-weight: 800; }
.demo-pulse small { color: var(--muted); font-size: 8px; }
.demo-copy { max-width: 600px; padding: 100px 64px; align-self: center; }
.demo-copy .overline { color: var(--red); }
.demo-copy h2 { font-size: clamp(47px, 4.5vw, 67px); }
.demo-copy h2 em { color: var(--red); opacity: 1; }
.demo-copy > p:not(.overline) { max-width: 510px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.demo-form { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.demo-form label { display: flex; flex-direction: column; gap: 7px; }
.demo-form label > span { color: #575258; font-size: 8px; font-weight: 700; }
.demo-form input, .demo-form select { width: 100%; height: 48px; padding: 0 13px; color: #252125; background: #faf9f7; border: 1px solid #dedad6; border-radius: 10px; outline: none; font-size: 10px; transition: border-color .2s ease, box-shadow .2s ease; }
.demo-form input:focus, .demo-form select:focus { background: white; border-color: var(--red); box-shadow: 0 0 0 3px rgba(212,22,53,.09); }
.demo-form input::placeholder { color: #aaa4a8; }
.demo-form .button { grid-column: 1 / -1; width: 100%; margin-top: 3px; border: 0; }
.button-dark { color: white; background: #191719; cursor: pointer; }
.demo-form > small { grid-column: 1 / -1; color: #999398; font-size: 7px; text-align: center; }
.form-success { margin-top: 25px; padding: 19px; align-items: center; gap: 13px; color: var(--ink); background: white; border-radius: 13px; }
.form-success:not([hidden]) { display: flex; }
.form-success > span { width: 40px; aspect-ratio: 1; display: grid; flex: 0 0 auto; place-items: center; color: #193109; background: var(--lime); border-radius: 50%; font-weight: 800; }
.form-success div { display: flex; flex-direction: column; }.form-success strong { font-size: 11px; }.form-success p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }

footer { padding: 92px 0 34px; color: white; background: #151515; }
.footer-main { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; }
.footer-brand { display: flex; align-items: flex-start; flex-direction: column; }
.footer-logo .brand-logo { width: 58px; height: 58px; border-radius: 16px; }
.footer-logo .brand-logo img { width: 79px; height: 79px; transform: translate(-10.5px, -10.5px); }
.footer-logo .brand-word { font-size: 17px; }
.footer-brand p { max-width: 250px; margin: 22px 0 13px; color: rgba(255,255,255,.46); font-size: 10px; line-height: 1.6; }
.footer-brand > a:last-child { color: rgba(255,255,255,.7); font-size: 9px; }
.footer-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 38px; }
.footer-links div { display: flex; flex-direction: column; gap: 11px; }
.footer-links strong { margin-bottom: 7px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.footer-links a { color: rgba(255,255,255,.5); font-size: 10px; transition: color .2s ease; }
.footer-links a:hover { color: white; }
.footer-bottom { margin-top: 60px; padding-top: 24px; display: flex; justify-content: space-between; gap: 30px; color: rgba(255,255,255,.32); border-top: 1px solid rgba(255,255,255,.1); font-size: 8px; }
.footer-bottom p { margin: 0; }
.mobile-order { display: none; }

.reveal { opacity: 1; transform: none; }
.reveal.will-reveal { opacity: 0; transform: translateY(28px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1); }
.reveal.will-reveal.is-visible { opacity: 1; transform: none; }
.module-tab:nth-child(2), .workflow article:nth-child(2), .solution-card:nth-child(2) { transition-delay: .06s; }
.module-tab:nth-child(3), .workflow article:nth-child(3), .solution-card:nth-child(3) { transition-delay: .12s; }
.module-tab:nth-child(4), .workflow article:nth-child(4) { transition-delay: .18s; }
.module-tab:nth-child(5), .workflow article:nth-child(5) { transition-delay: .24s; }

@media (max-width: 1050px) {
  .nav-links { display: none; }
  .nav { grid-template-columns: 1fr auto; }
  .hero-layout { grid-template-columns: .82fr 1.18fr; gap: 30px; }
  .hero h1 { font-size: clamp(53px, 6.2vw, 69px); }
  .dashboard-body { min-height: 380px; }
  .dashboard-main { padding: 18px 14px; }
  .operations-layout { gap: 50px; }
  .solution-grid { grid-template-columns: 1fr 1fr; }
  .solution-card:first-child { grid-column: 1 / -1; background-size: cover; }
}

@media (max-width: 780px) {
  html { scroll-padding-top: 70px; }
  body { padding-bottom: 62px; }
  .shell { width: min(100% - 30px, 620px); }
  .nav { min-height: 70px; }
  .nav.page-nav { min-height: 63px; padding-inline: 15px; }
  .brand-logo { width: 40px; height: 40px; border-radius: 11px; }
  .brand-logo img { width: 55px; height: 55px; transform: translate(-7.5px, -7.5px); }
  .brand-word { font-size: 12px; }
  .nav-login { display: none; }
  .nav-cta { padding: 9px 12px; font-size: 9px; }
  .hero { min-height: 1080px; }
  .hero-layout { min-height: auto; padding-top: 118px; grid-template-columns: 1fr; gap: 42px; }
  .hero-copy { padding-bottom: 0; text-align: center; }
  .hero-kicker, .hero-actions, .hero-proof { justify-content: center; }
  .hero h1 { font-size: clamp(49px, 13.5vw, 70px); }
  .hero-lead { margin-inline: auto; font-size: 12px; }
  .hero-product { width: 100%; padding-bottom: 130px; }
  .dashboard-shell { transform: rotateY(0) rotateX(0) rotate(-1deg); }
  .dashboard-body { min-height: 348px; grid-template-columns: 40px 1fr; }
  .dashboard-body aside { padding-inline: 5px; }
  .dashboard-body aside span { width: 25px; }
  .dashboard-main { padding: 16px 10px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .orders-panel { display: none; }
  .chart { height: 80px; }
  .stock-card { top: 59px; left: -6px; }
  .kitchen-card { right: -4px; bottom: 91px; }
  .hero-food { height: 280px; background-size: auto 330px; }
  .scroll-cue { display: none; }
  .impact, .platform, .bento, .solutions { padding-block: 98px; }
  .section-heading { margin-bottom: 54px; }
  .section-heading h2, .operations-copy h2, .demo-copy h2 { font-size: clamp(39px, 11.5vw, 54px); }
  .section-heading > p:last-child { font-size: 11px; }
  .stats { grid-template-columns: 1fr; }
  .stats article { min-height: 105px; padding: 21px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .stats article:last-child { border-bottom: 0; }
  .flavour-loop div { height: 55px; }
  .platform-layout { grid-template-columns: 1fr; gap: 34px; }
  .module-list { grid-template-columns: 1fr 1fr; gap: 10px; }
  .module-tab { min-height: 88px; padding: 11px; grid-template-columns: 30px 1fr; gap: 7px; }
  .module-tab > span, .module-tab > b { display: none; }
  .module-tab > i { grid-row: span 2; }
  .module-tab small { max-width: 110px; }
  .module-stage { position: static; }
  .stage-content { padding: 20px 15px; }
  .stage-heading { grid-template-columns: 43px 1fr; }
  .stage-heading > span { width: 43px; }
  .stage-heading h3 { font-size: 21px; }
  .stage-visual { min-height: 225px; padding: 11px; }
  .visual-board { gap: 5px; }
  .visual-board article { min-height: 125px; padding: 9px; }
  .stage-points { align-items: flex-start; flex-direction: column; }
  .operations { padding-block: 105px; }
  .operations-layout { grid-template-columns: 1fr; gap: 64px; }
  .operations-copy { text-align: center; }
  .operations-copy > p:not(.overline) { margin-inline: auto; }
  .workflow article { grid-template-columns: 26px 37px 1fr; }
  .workflow article > b { display: none; }
  .bento-grid { grid-template-columns: 1fr; gap: 17px; }
  .bento-large { grid-row: auto; min-height: 590px; }
  .solution-grid { grid-template-columns: 1fr; gap: 17px; }
  .solution-card, .solution-card:first-child { min-height: 340px; grid-column: auto; background-size: auto 510px; }
  .demo { grid-template-columns: 1fr; }
  .demo-art { min-height: 530px; }
  .demo-pulse { bottom: 50px; }
  .demo-copy { padding: 96px 20px; text-align: center; }
  .demo-copy > p:not(.overline) { margin-inline: auto; }
  .demo-form { text-align: left; }
  footer { padding-top: 76px; }
  .footer-main { grid-template-columns: 1fr; gap: 54px; }
  .footer-links { gap: 20px; }
  .footer-bottom { align-items: center; flex-direction: column; text-align: center; }
  .mobile-order { position: fixed; right: 0; bottom: 0; left: 0; z-index: 80; min-height: 62px; padding: 11px 17px; display: flex; justify-content: space-between; align-items: center; color: white; background: #161616; border-top: 1px solid #363636; box-shadow: 0 -12px 30px rgba(0,0,0,.15); }
  .mobile-order span { color: #999; font-size: 8px; }.mobile-order strong { color: var(--lime); font-size: 10px; }
}

@media (max-width: 430px) {
  .hero { min-height: 1060px; }
  .hero h1 { font-size: 48px; }
  .hero-actions { align-items: center; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-proof { gap: 9px; }
  .dashboard-topbar { height: 34px; }
  .dashboard-body { min-height: 318px; grid-template-columns: 35px 1fr; }
  .dashboard-body aside { gap: 8px; }
  .dashboard-body aside span { width: 23px; }
  .metric-row article { padding: 8px 6px; }
  .metric-row strong { font-size: 12px; }
  .dashboard-welcome strong { font-size: 11px; }
  .float-card { transform: scale(.88); }
  .stock-card { left: -16px; }
  .kitchen-card { right: -13px; }
  .module-list { gap: 6px; }
  .module-tab { min-height: 96px; }
  .stage-heading p { font-size: 9px; }
  .visual-summary article { padding-inline: 7px; }
  .visual-board article:nth-child(3) { display: none; }
  .visual-board { grid-template-columns: 1fr 1fr; }
  .demo-form { grid-template-columns: 1fr; }
  .demo-form .button, .demo-form > small { grid-column: auto; }
  .footer-links { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
