:root {
  color-scheme: dark;
  --ink: #080a0a;
  --ink-soft: #0d1010;
  --panel: #111515;
  --panel-2: #151a19;
  --line: rgba(255, 255, 255, 0.1);
  --paper: #f4f7f3;
  --muted: #9aa39f;
  --acid: #c9ff4a;
  --acid-soft: #e1ff9b;
  --aqua: #6de6d2;
  --violet: #a99dff;
  --radius: 28px;
  --shadow: 0 30px 100px rgba(0, 0, 0, 0.5);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 66% 4%, rgba(201, 255, 74, 0.07), transparent 26rem),
    var(--ink);
  color: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  opacity: 0.035;
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.ambient { position: fixed; z-index: -1; border-radius: 50%; filter: blur(120px); opacity: 0.16; pointer-events: none; }
.ambient-one { width: 440px; height: 440px; background: var(--acid); top: 18%; right: -300px; }
.ambient-two { width: 320px; height: 320px; background: var(--violet); top: 62%; left: -260px; }

.site-header { height: 96px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 10; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.12rem; letter-spacing: -0.04em; }
.brand-logo { width: 31px; height: 31px; object-fit: cover; border-radius: 9px; }
.brand-mark { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px 9px 9px 3px; background: var(--acid); color: var(--ink); font-size: 0.9rem; font-weight: 950; box-shadow: inset 0 -4px 10px rgba(30, 40, 0, 0.2); }
.site-header nav { display: flex; gap: 34px; color: #c8cecb; font-size: 0.9rem; }
.site-header nav a, .text-link { transition: color 180ms ease; }
.site-header nav a:hover, .text-link:hover { color: var(--acid); }
.mini-cta { border: 1px solid var(--line); border-radius: 999px; padding: 11px 18px; font-size: 0.84rem; font-weight: 700; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.mini-cta:hover { background: var(--paper); color: var(--ink); transform: translateY(-2px); }

.hero { min-height: 790px; padding: 74px 0 96px; display: grid; grid-template-columns: 0.78fr 1.22fr; align-items: center; gap: 38px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #bcc3bf; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; }
.eyebrow > span { width: 19px; height: 1px; background: var(--acid); }
.hero h1, .section-heading h2, .built-copy h2, .access-copy h2 { margin: 22px 0; font-size: clamp(4rem, 7.1vw, 7rem); line-height: 0.89; letter-spacing: -0.075em; font-weight: 780; }
h1 em, h2 em { color: var(--acid); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero-intro { max-width: 530px; color: #b6beb9; font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.7; }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 28px; }
.button { display: inline-flex; align-items: center; gap: 22px; border-radius: 999px; padding: 16px 22px; font-size: 0.92rem; font-weight: 800; }
.button-primary { color: var(--ink); background: var(--acid); box-shadow: 0 12px 40px rgba(201, 255, 74, 0.16); transition: transform 180ms ease, box-shadow 180ms ease; }
.button-primary:hover { transform: translateY(-3px); box-shadow: 0 18px 52px rgba(201, 255, 74, 0.25); }
.text-link { color: #d6dad8; font-size: 0.88rem; font-weight: 700; }
.platform-note { margin-top: 22px; color: #69726e; font-size: 0.78rem; }
.platform-row { display: flex; gap: 9px; margin-top: 24px; }
.platform-row > span { min-width: 132px; padding: 9px 13px; display: grid; grid-template-columns: 20px 1fr; column-gap: 7px; align-items: center; border: 1px solid var(--line); border-radius: 10px; color: #e8ece9; font-size: .75rem; font-weight: 750; line-height: 1.1; }
.platform-row b { grid-row: 1 / 3; color: var(--acid); font-size: .72rem; }
.platform-row small { color: #747d78; font-size: .52rem; font-weight: 600; }

.product-stage { min-width: 0; position: relative; perspective: 1200px; transform-style: preserve-3d; }
.stage-orbit { position: absolute; border: 1px solid rgba(201, 255, 74, 0.12); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 650px; height: 650px; top: -70px; left: 10px; animation: orbit 22s linear infinite; }
.orbit-two { width: 430px; height: 430px; top: 45px; left: 110px; border-color: rgba(109, 230, 210, 0.1); animation: orbit 15s linear infinite reverse; }
.dashboard-window { position: relative; z-index: 2; width: 720px; max-width: 100%; margin-left: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; overflow: hidden; background: rgba(17, 21, 21, 0.95); box-shadow: var(--shadow), 0 0 0 1px rgba(201,255,74,.03); transform: rotateY(-6deg) rotateX(3deg); transform-origin: center; transition: transform 180ms ease-out; }
.window-topbar { height: 55px; padding: 0 17px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.015); }
.window-brand { display: flex; align-items: center; gap: 7px; font-size: .65rem; font-weight: 800; }
.brand-logo-small { width: 21px; height: 21px; border-radius: 6px; }
.brand-mark-small { width: 21px; height: 21px; border-radius: 6px 6px 6px 2px; font-size: .52rem; }
.topbar-date { color: #88918d; font-size: .57rem; }
.avatar { justify-self: end; width: 25px; height: 25px; border: 0; border-radius: 50%; background: #d7e0dc; color: #141817; font-size: .5rem; font-weight: 900; }
.dashboard-body { display: grid; grid-template-columns: 116px 1fr; min-height: 430px; }
.dashboard-nav { padding: 24px 12px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.nav-item { display: flex; align-items: center; gap: 9px; padding: 9px; border-radius: 7px; color: #79817d; font-size: .55rem; }
.nav-item i { width: 10px; height: 10px; border: 1px solid currentColor; border-radius: 3px; }
.nav-item.active { background: rgba(201,255,74,.1); color: var(--acid); }
.dashboard-main { padding: 26px; min-width: 0; }
.dash-heading { display: flex; justify-content: space-between; align-items: flex-end; }
.dash-heading span { display: block; color: #858e89; font-size: .56rem; }
.dash-heading strong { display: block; margin-top: 2px; font-size: 1.12rem; letter-spacing: -.04em; }
.dash-heading button { border: 0; border-radius: 6px; padding: 7px 10px; background: var(--acid); color: var(--ink); font-size: .52rem; font-weight: 800; }
.metric-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 9px; margin-top: 18px; }
.metric-card { padding: 14px; min-height: 91px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); }
.metric-card span, .metric-card small { display: block; color: #87908b; font-size: .5rem; }
.metric-card strong { display: block; margin: 4px 0 2px; font-size: 1.35rem; letter-spacing: -.055em; }
.metric-highlight { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.metric-highlight span, .metric-highlight small { color: rgba(8,10,10,.6); }
.schedule-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9px; margin-top: 9px; }
.next-card, .day-card { border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); padding: 14px; }
.card-label { color: #9aa39f; font-size: .5rem; text-transform: uppercase; letter-spacing: .08em; }
.live-dot { display: inline-block; width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 10px var(--acid); }
.customer-row { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; margin-top: 14px; }
.customer-avatar { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #29302e; color: var(--aqua); font-size: .5rem; font-weight: 900; }
.customer-row strong, .customer-row span { display: block; font-size: .58rem; }
.customer-row span { color: #79827e; margin-top: 2px; font-size: .48rem; }
.customer-row b { font-size: .57rem; color: var(--acid); }
.progress-track { height: 3px; margin: 16px 0; overflow: hidden; border-radius: 99px; background: #252b29; }
.progress-track span { display: block; width: 64%; height: 100%; background: var(--acid); }
.card-actions { display: flex; gap: 6px; }
.card-actions button { border: 1px solid var(--line); background: transparent; padding: 7px 9px; border-radius: 6px; font-size: .48rem; font-weight: 700; }
.card-actions button:first-child { background: var(--paper); color: var(--ink); }
.booking-row { display: grid; grid-template-columns: 31px 3px 1fr; gap: 7px; align-items: center; min-height: 48px; }
.booking-row time { color: #77807c; font-size: .45rem; }
.booking-line { width: 3px; height: 30px; border-radius: 4px; }
.booking-line.aqua { background: var(--aqua); }.booking-line.lime { background: var(--acid); }.booking-line.violet { background: var(--violet); }
.booking-row b, .booking-row small { display: block; font-size: .5rem; }
.booking-row small { color: #737d78; font-size: .44rem; }
.float-card { position: absolute; z-index: 4; border: 1px solid rgba(255,255,255,.12); background: rgba(22, 27, 26, 0.88); box-shadow: 0 18px 50px rgba(0,0,0,.44); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: transform 180ms ease-out; }
.payment-card { right: -40px; bottom: 35px; min-width: 210px; padding: 14px; border-radius: 14px; display: flex; align-items: center; gap: 11px; animation: float 5s ease-in-out infinite; }
.success-icon { width: 35px; height: 35px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--acid); color: var(--ink); font-weight: 900; }
.payment-card span, .payment-card strong, .payment-card small, .booking-card span, .booking-card strong, .booking-card small { display: block; }
.payment-card span { color: #a7afab; font-size: .55rem; }.payment-card strong { font-size: 1rem; }.payment-card small { color: #69716d; font-size: .47rem; }
.booking-card { left: -10px; top: 4px; padding: 14px 18px; border-radius: 14px; animation: float 6s 1.2s ease-in-out infinite reverse; }
.booking-card span { color: var(--acid); font-size: .46rem; font-weight: 900; letter-spacing: .1em; }.booking-card strong { margin: 4px 0 1px; font-size: .75rem; }.booking-card small { color: #7f8984; font-size: .48rem; }

.phone-showcase { position: relative; z-index: 2; width: 620px; height: 610px; max-width: 100%; margin-left: auto; transition: translate 180ms ease-out; }
.phone { position: absolute; width: 272px; height: 548px; padding: 8px; border-radius: 42px; background: linear-gradient(145deg, #424946, #080a0a 44%, #5e6662); box-shadow: 0 45px 100px rgba(0,0,0,.56), inset 0 0 0 1px rgba(255,255,255,.2); }
.phone::after { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 35px; pointer-events: none; }
.phone-front { right: 55px; top: 8px; transform: rotate(3deg); z-index: 2; }
.phone-back { left: 60px; top: 45px; transform: rotate(-8deg); opacity: .8; }
.phone-island { position: absolute; z-index: 3; width: 76px; height: 21px; top: 16px; left: 50%; translate: -50% 0; border-radius: 30px; background: #050606; }
.phone-screen { position: relative; height: 100%; overflow: hidden; border-radius: 34px; background: #0d1110; }
.today-screen { padding: 46px 19px 70px; }
.mobile-top { display: flex; justify-content: space-between; align-items: center; color: #7b8580; font-size: .62rem; }
.today-screen > p { margin: 26px 0 1px; color: #808984; font-size: .65rem; }
.today-screen > h3 { margin: 0; font-size: 1.42rem; letter-spacing: -.055em; }
.mobile-money { margin-top: 21px; padding: 17px; border-radius: 17px; background: var(--acid); color: var(--ink); }
.mobile-money span, .mobile-money strong, .mobile-money small { display: block; }.mobile-money span { font-size: .48rem; font-weight: 900; letter-spacing: .08em; }.mobile-money strong { margin: 2px 0 0; font-size: 2.4rem; line-height: 1; letter-spacing: -.08em; }.mobile-money small { margin-top: 6px; font-size: .55rem; opacity: .65; }
.mobile-next { margin-top: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: #161b19; }
.mobile-next > span, .mobile-next b, .mobile-next small { display: block; }.mobile-next > span { color: #8d9691; font-size: .46rem; font-weight: 800; letter-spacing: .08em; }.mobile-next i { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--acid); }.mobile-next time { float: right; margin-top: -13px; color: var(--acid); font-size: .55rem; }.mobile-next b { margin-top: 14px; font-size: .83rem; }.mobile-next small { color: #7c8580; font-size: .52rem; }.mobile-next button { width: 100%; margin-top: 15px; padding: 9px; border: 0; border-radius: 9px; background: #f2f6f3; color: var(--ink); font-size: .56rem; font-weight: 850; }
.mobile-nav { position: absolute; left: 12px; right: 12px; bottom: 10px; height: 54px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; border: 1px solid var(--line); border-radius: 18px; background: rgba(17,22,20,.94); }
.mobile-nav b { color: #707a75; text-align: center; font-size: .66rem; }.mobile-nav b:first-child { color: var(--acid); }.mobile-nav small { display: block; margin-top: 2px; font-size: .42rem; font-weight: 600; }
.tap-screen { padding: 48px 20px 20px; display: flex; flex-direction: column; align-items: center; background: radial-gradient(circle at 50% 40%, rgba(201,255,74,.2), transparent 42%), #090c0b; text-align: center; }
.tap-brand { align-self: flex-start; display: flex; align-items: center; gap: 6px; font-size: .6rem; font-weight: 850; }.tap-label { margin-top: 100px; color: var(--acid); font-size: .48rem; font-weight: 900; letter-spacing: .12em; }.tap-screen > strong { margin-top: 4px; font-size: 2.7rem; letter-spacing: -.08em; }.contactless-mark { margin-top: 52px; color: var(--acid); font-size: 2rem; font-weight: 200; transform: rotate(-90deg); }.tap-screen p { margin: 20px 0 3px; font-size: .7rem; font-weight: 700; }.tap-screen > small { color: #626b66; font-size: .48rem; }

.ticker-wrap { overflow: hidden; border-block: 1px solid var(--line); background: var(--acid); color: var(--ink); transform: rotate(-1.3deg) scale(1.02); }
.ticker { width: max-content; display: flex; align-items: center; gap: 32px; padding: 14px 0; animation: ticker 32s linear infinite; font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.ticker i { font-style: normal; font-size: .62rem; }

.inside { padding: 150px 0 36px; }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2, .built-copy h2 { font-size: clamp(3.2rem, 6.5vw, 6.4rem); }
.section-heading p { margin: 0 0 28px; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.feature-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.feature { position: relative; min-height: 0; padding: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); display: flex; flex-direction: column; }
.feature-tap { grid-column: 1 / -1; min-height: 600px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; padding: 50px; background: radial-gradient(circle at 85% 30%, rgba(201,255,74,.11), transparent 27rem), #111513; }
.feature-tap img { width: 115%; max-width: 780px; justify-self: end; margin-right: -80px; filter: drop-shadow(0 38px 70px rgba(0,0,0,.44)); }
.tap-copy { position: relative; z-index: 2; max-width: 480px; }
.tap-copy .feature-number { left: 0; right: auto; top: -95px; }
.feature-tag { display: inline-block; margin-bottom: 23px; padding: 7px 10px; border-radius: 7px; background: rgba(201,255,74,.1); color: var(--acid); font-size: .65rem; font-weight: 900; letter-spacing: .1em; }
.tap-copy h3 { margin: 0; font-size: clamp(2.8rem, 5vw, 5.3rem); line-height: .98; letter-spacing: -.07em; }
.tap-copy p { margin: 22px 0; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.tap-copy ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; list-style: none; }
.tap-copy li { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: #b7bfbb; font-size: .72rem; }
.feature-large { background: linear-gradient(145deg, #121716, #0d100f); }
.feature-number { position: absolute; right: 24px; top: 22px; color: #4b534f; font-size: .68rem; letter-spacing: .08em; }
.feature-copy { position: static; margin-top: 30px; }
.feature-copy h3 { margin: 0 0 10px; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.055em; }
.feature-copy p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.7; }
.mini-calendar { width: min(500px, 92%); margin: 72px auto 0; padding: 24px; transform: rotate(-2deg); border: 1px solid var(--line); border-radius: 22px; background: #181d1c; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.calendar-head { display: flex; justify-content: space-between; font-size: .78rem; }.calendar-head span { color: #7b8480; }
.calendar-days, .calendar-dates { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; gap: 4px; }
.calendar-days { margin-top: 25px; color: #59615d; font-size: .55rem; }.calendar-dates { margin: 8px 0 28px; }
.calendar-dates i { height: 33px; display: grid; place-items: center; border-radius: 50%; font-size: .66rem; font-style: normal; }.calendar-dates .selected { background: var(--acid); color: var(--ink); font-weight: 900; }
.calendar-slot { margin-top: 8px; padding: 13px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; border-radius: 10px; background: #202625; }
.calendar-slot time { color: var(--acid); font-size: .58rem; }.calendar-slot b, .calendar-slot small { display: block; font-size: .65rem; }.calendar-slot small { color: #6f7874; font-size: .53rem; }.calendar-slot strong { font-size: .65rem; }
.feature-payments { background: linear-gradient(145deg, #151d18, #111513); }
.money-visual { margin: 52px 0 0 8px; }
.money-visual > span { display: inline-block; padding: 6px 9px; border-radius: 6px; background: var(--acid); color: var(--ink); font-size: .5rem; font-weight: 900; letter-spacing: .08em; }
.money-visual > strong { display: block; margin-top: 10px; font-size: clamp(3.4rem, 6vw, 5.8rem); line-height: 1; letter-spacing: -.08em; }.money-visual > strong small { font-size: .45em; color: #89928d; }
.money-visual > div { height: 70px; display: flex; align-items: end; gap: 7px; margin-top: 20px; }
.money-visual > div i { flex: 1; height: 30%; border-radius: 5px 5px 0 0; background: #26302b; }.money-visual > div i:nth-child(2) { height: 48%; }.money-visual > div i:nth-child(3) { height: 42%; }.money-visual > div i:nth-child(4) { height: 68%; }.money-visual > div i:nth-child(5) { height: 58%; }.money-visual > div i:nth-child(6) { height: 88%; background: var(--acid); }.money-visual > div i:nth-child(7) { height: 78%; }
.people-stack { margin-top: 58px; display: flex; flex-direction: column; gap: 8px; }
.people-stack > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.people-stack > div > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #252c2a; color: var(--aqua); font-size: .54rem; font-weight: 900; }.people-stack p { margin: 0; }.people-stack b, .people-stack small { display: block; font-size: .63rem; }.people-stack small { color: #77807c; font-size: .52rem; }.people-stack i { color: var(--acid); font-size: .62rem; font-style: normal; font-weight: 800; }

.all-features { padding: 64px 0 68px; }
.all-features-head { display: grid; grid-template-columns: 1fr .55fr; align-items: end; }
.all-features-head .eyebrow { grid-column: 1 / -1; }
.all-features-head h2 { margin: 22px 0 0; font-size: clamp(3.3rem, 6.4vw, 6.3rem); line-height: .9; letter-spacing: -.075em; }
.all-features-head p { margin: 0 0 10px; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.feature-list-grid { margin-top: 75px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.feature-list-grid article { min-height: 390px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-list-grid article > span { color: var(--acid); font-size: .68rem; }
.feature-list-grid h3 { margin: 42px 0 25px; font-size: 1.55rem; letter-spacing: -.045em; }
.feature-list-grid ul { margin: 0; padding: 0; list-style: none; color: #909a95; }
.feature-list-grid li { position: relative; padding: 7px 0 7px 18px; }
.feature-list-grid li::before { content: ""; position: absolute; width: 5px; height: 5px; left: 0; top: 16px; border-radius: 50%; background: var(--acid); opacity: .75; }
.web-note { margin: 28px 0 0 auto; max-width: 780px; padding: 24px 28px; border-left: 2px solid var(--acid); background: rgba(255,255,255,.025); color: #9da6a1; line-height: 1.75; }
.web-note strong { color: var(--paper); }

.flow-section { padding: 160px 0; }
.flow-kicker { color: #646d68; font-size: .76rem; text-transform: uppercase; letter-spacing: .13em; }
.flow-line { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 32px; align-items: center; margin-top: 30px; }
.flow-line > div { padding-top: 20px; border-top: 1px solid var(--line); }.flow-line > div span, .flow-line > div strong, .flow-line > div small { display: block; }.flow-line > div span { color: var(--acid); font-size: .65rem; }.flow-line > div strong { margin: 24px 0 5px; font-size: 1.35rem; letter-spacing: -.04em; }.flow-line > div small { color: var(--muted); }.flow-line > i { color: #525a56; font-style: normal; }

.built-for { padding: 80px 0 110px; }
.built-copy h2 { max-width: 1050px; }
.industry-cloud { margin-top: 70px; display: flex; flex-wrap: wrap; gap: 12px; }
.industry-cloud button { padding: 14px 20px; border: 1px solid var(--line); border-radius: 999px; color: #aeb6b2; background: rgba(255,255,255,.015); cursor: pointer; transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.industry-cloud button:hover { color: var(--acid); border-color: rgba(201,255,74,.5); transform: translateY(-3px); }
.industry-cloud button:focus-visible { outline: 3px solid rgba(201,255,74,.26); outline-offset: 3px; }
.industry-cloud button[aria-selected="true"] { background: var(--acid); color: var(--ink); border-color: var(--acid); font-weight: 800; box-shadow: 0 12px 34px rgba(201,255,74,.14); }

.industry-explorer { position: relative; min-height: 670px; margin-top: 28px; padding: 58px; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(50px, 7vw, 100px); align-items: center; overflow: hidden; border: 1px solid rgba(201,255,74,.17); border-radius: 36px; background: radial-gradient(circle at 86% 34%, rgba(201,255,74,.09), transparent 27rem), linear-gradient(145deg, #121715, #0c0f0e); box-shadow: 0 36px 100px rgba(0,0,0,.24); }
.industry-explorer::before { content: "SECTOR MODE"; position: absolute; right: 34px; top: 28px; color: #4f5853; font-size: .62rem; font-weight: 800; letter-spacing: .15em; }
.industry-copy { position: relative; z-index: 2; }
.industry-overline { margin: 0 0 18px; color: var(--acid); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.industry-copy > h3 { max-width: 600px; margin: 0; font-size: clamp(3rem, 5.5vw, 5.6rem); line-height: .92; letter-spacing: -.07em; }
.industry-summary { max-width: 650px; margin: 24px 0 32px; color: #aab3ae; font-size: 1.02rem; line-height: 1.7; }
.industry-benefits { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; }
.industry-benefits li { min-height: 132px; padding: 17px; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-content: start; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.022); transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; }
.industry-benefits li:hover { transform: translateY(-4px); border-color: rgba(201,255,74,.28); background: rgba(201,255,74,.035); }
.industry-benefits li > span { grid-row: 1 / 3; color: var(--acid); font-size: .58rem; font-weight: 800; }
.industry-benefits strong { font-size: .88rem; }
.industry-benefits small { margin-top: 5px; color: #7f8984; font-size: .72rem; line-height: 1.5; }
.sector-demo { position: relative; z-index: 2; display: grid; justify-items: center; }
.demo-glow { position: absolute; width: 430px; height: 430px; top: 70px; border-radius: 50%; background: var(--acid); filter: blur(120px); opacity: .07; pointer-events: none; }
.demo-phone { position: relative; width: min(340px, 100%); min-height: 548px; padding: 25px 22px 22px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 38px; background: linear-gradient(160deg, #1b211f, #0a0d0c 75%); box-shadow: 0 38px 90px rgba(0,0,0,.46), inset 0 0 0 6px #090b0a; }
.demo-phone::before { content: ""; position: absolute; width: 82px; height: 18px; top: 8px; left: 50%; translate: -50% 0; border-radius: 20px; background: #030404; }
.demo-phone-top { margin-top: 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; }
.demo-phone-top small { color: #838d88; font-size: .52rem; font-weight: 850; letter-spacing: .09em; }
.demo-phone-top i { color: #68716d; font-size: .58rem; font-style: normal; letter-spacing: .1em; }
.demo-date { margin: 32px 2px 12px; display: flex; justify-content: space-between; align-items: center; }
.demo-date small { color: #69726d; font-size: .52rem; font-weight: 800; letter-spacing: .08em; }
.demo-date strong { color: var(--acid); font-size: .72rem; }
.demo-booking { padding: 15px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; border-radius: 16px; background: var(--acid); color: var(--ink); }
.demo-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: rgba(8,10,10,.12); font-size: .65rem; font-weight: 900; }
.demo-booking strong, .demo-booking small { display: block; }
.demo-booking strong { font-size: .72rem; }
.demo-booking small { max-width: 150px; margin-top: 2px; overflow: hidden; color: rgba(8,10,10,.62); font-size: .55rem; white-space: nowrap; text-overflow: ellipsis; }
.demo-booking > b { font-size: .74rem; }
.demo-details { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.demo-details > span { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.demo-details small, .demo-details b { display: block; }
.demo-details small { color: #616a65; font-size: .46rem; font-weight: 850; letter-spacing: .08em; }
.demo-details b { margin-top: 5px; overflow: hidden; font-size: .6rem; white-space: nowrap; text-overflow: ellipsis; }
.demo-progress { height: 4px; margin: 22px 2px 10px; overflow: hidden; border-radius: 99px; background: #252b28; }
.demo-progress span { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--acid); transition: width 500ms ease; }
.demo-phone > p { margin: 0 2px 18px; color: #78817c; font-size: .62rem; }
.demo-phone > button { width: 100%; padding: 15px; display: flex; justify-content: space-between; border: 0; border-radius: 13px; background: #f2f6f3; color: var(--ink); font-size: .72rem; font-weight: 850; cursor: pointer; transition: transform 180ms ease, background 180ms ease; }
.demo-phone > button:hover { transform: translateY(-2px); background: var(--acid); }
.demo-phone > button:focus-visible { outline: 3px solid rgba(201,255,74,.28); outline-offset: 3px; }
.demo-complete { position: absolute; inset: 58px 20px 20px; z-index: 5; display: grid; align-content: center; justify-items: center; border-radius: 25px; background: rgba(9,13,11,.95); backdrop-filter: blur(14px); opacity: 0; pointer-events: none; transform: scale(.94); transition: opacity 240ms ease, transform 240ms ease; }
.demo-complete > span { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; background: var(--acid); color: var(--ink); font-size: 1.6rem; font-weight: 900; box-shadow: 0 0 45px rgba(201,255,74,.24); }
.demo-complete strong { margin-top: 18px; font-size: 1.35rem; }
.demo-complete small { margin-top: 4px; color: #818a85; }
.demo-phone.is-paid .demo-complete { opacity: 1; pointer-events: auto; transform: scale(1); }
.demo-journey { width: min(500px, 110%); margin-top: 19px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 9px; align-items: center; }
.demo-journey > div { min-height: 62px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.018); }
.demo-journey span, .demo-journey small { display: block; }
.demo-journey span { color: var(--acid); font-size: .48rem; font-weight: 850; }
.demo-journey small { margin-top: 5px; color: #7f8984; font-size: .55rem; line-height: 1.35; }
.demo-journey i { color: #4f5853; font-size: .7rem; font-style: normal; }
.industry-explorer.is-switching .industry-copy, .industry-explorer.is-switching .sector-demo { animation: sectorSwap 360ms ease; }

.early-access { position: relative; overflow: hidden; min-height: 440px; padding: 74px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; border: 1px solid rgba(201,255,74,.18); border-radius: 36px; background: #101513; }
.access-glow { position: absolute; width: 420px; height: 420px; left: -130px; bottom: -300px; border-radius: 50%; background: var(--acid); filter: blur(100px); opacity: .18; }
.status-pill { display: inline-flex; align-items: center; gap: 9px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #bdc4c0; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.status-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); }
.access-copy h2 { position: relative; margin: 28px 0 14px; font-size: clamp(3.4rem, 6vw, 6.5rem); }
.access-copy p { max-width: 540px; color: var(--muted); }
.signup-form { position: relative; }
.signup-form input { width: 100%; padding: 19px 20px; border: 1px solid var(--line); border-radius: 12px; outline: none; background: #090c0b; color: var(--paper); font-size: 1rem; }
.signup-form input:focus { border-color: var(--acid); box-shadow: 0 0 0 3px rgba(201,255,74,.1); }
.signup-form button { width: 100%; margin-top: 10px; padding: 18px 20px; display: flex; justify-content: space-between; border: 0; border-radius: 12px; background: var(--acid); color: var(--ink); font-weight: 850; cursor: pointer; }
.signup-form p { min-height: 21px; margin: 12px 2px 0; color: #6f7874; font-size: .75rem; }
.signup-form.is-success input, .signup-form.is-success button { opacity: .48; pointer-events: none; }.signup-form.is-success p { color: var(--acid); }

.site-footer { min-height: 180px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: #727b76; font-size: .8rem; }
.site-footer .brand { color: var(--paper); }.site-footer > span { justify-self: end; }

[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity 800ms cubic-bezier(.2,.7,.2,1), transform 800ms cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes sectorSwap { 0% { opacity: .25; transform: translateY(10px); } 100% { opacity: 1; transform: translateY(0); } }

@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; padding-top: 50px; }
  .hero-copy { max-width: 700px; }
  .product-stage { width: min(760px, 94vw); margin: 55px auto 0; }
  .dashboard-window { margin-inline: auto; }
  .phone-showcase { margin-inline: auto; }
  .section-heading { grid-template-columns: 1fr; }
  .section-heading p { max-width: 600px; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-tap { grid-column: 1 / -1; }
  .feature-large { grid-column: 1 / -1; min-height: 0; }
  .all-features-head { grid-template-columns: 1fr; }
  .all-features-head p { max-width: 620px; margin-top: 28px; }
  .feature-list-grid { grid-template-columns: repeat(2, 1fr); }
  .industry-explorer { grid-template-columns: 1fr; }
  .sector-demo { margin-top: 15px; }
  .early-access { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 30px, 1240px); }
  .site-header { height: 78px; }
  .site-header nav { display: none; }
  .mini-cta { padding: 9px 13px; }
  .hero { min-height: auto; padding: 58px 0 100px; }
  .hero h1 { font-size: clamp(3.75rem, 18vw, 5.7rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .product-stage { width: 100%; margin-top: 65px; }
  .phone-showcase { width: 560px; max-width: none; transform: scale(.72); transform-origin: left top; }
  .phone-front { right: 34px; }
  .phone-back { left: 25px; }
  .dashboard-window { width: 680px; max-width: none; transform: scale(.67) rotateY(-5deg) rotateX(2deg); transform-origin: left top; }
  .product-stage { height: 440px; }
  .payment-card { right: -5px; bottom: 8px; transform: scale(.86); transform-origin: right bottom; }
  .booking-card { left: -4px; top: -34px; transform: scale(.9); transform-origin: left top; }
  .orbit-one { width: 440px; height: 440px; }.orbit-two { width: 290px; height: 290px; }
  .inside { padding: 76px 0 20px; }
  .section-heading h2, .built-copy h2 { font-size: clamp(3.15rem, 15vw, 5rem); }
  .feature-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 42px; }
  .feature { padding: 24px; border-radius: 22px; }
  .feature-tap { grid-column: auto; min-height: 0; display: flex; flex-direction: column; padding: 24px; }
  .feature-tap img { position: static; width: 124%; max-width: none; align-self: center; margin: -6px -12% -56px; order: 2; }
  .tap-copy { max-width: none; order: 1; }
  .tap-copy .feature-number { top: 2px; left: auto; right: 0; }
  .feature-tag { margin: 4px 0 18px; }
  .tap-copy h3 { max-width: 540px; font-size: clamp(2.55rem, 11vw, 4rem); }
  .tap-copy p { margin: 17px 0; font-size: 1rem; }
  .tap-copy ul { margin-bottom: 8px; }
  .feature:not(.feature-tap), .feature-large { min-height: 0; }
  .feature-large { grid-column: auto; }
  .feature-copy { position: static; margin-top: 30px; }
  .feature-copy h3 { font-size: 2rem; }
  .mini-calendar { width: 100%; margin: 42px auto 0; transform: rotate(-1deg); }
  .money-visual { margin: 42px 0 0; }
  .money-visual > div { height: 58px; margin-top: 14px; }
  .people-stack { margin-top: 42px; }
  .feature-large { grid-row: auto; }
  .mini-calendar { padding: 16px; }
  .calendar-slot { grid-template-columns: 38px 1fr auto; padding: 10px; }
  .flow-section { padding: 64px 0; }
  .flow-line { grid-template-columns: 1fr; gap: 20px; }.flow-line > i { transform: rotate(90deg); justify-self: center; }
  .built-for { padding: 42px 0 68px; }
  .all-features { padding: 42px 0 28px; }
  .feature-list-grid { grid-template-columns: 1fr; margin-top: 52px; }
  .feature-list-grid article { min-height: 0; padding: 24px; }
  .feature-list-grid h3 { margin: 30px 0 18px; }
  .industry-cloud { margin-top: 44px; }
  .industry-cloud { flex-wrap: nowrap; width: calc(100vw - 15px); margin-left: 0; padding: 4px 15px 10px 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .industry-cloud::-webkit-scrollbar { display: none; }
  .industry-cloud button { flex: 0 0 auto; padding: 11px 15px; font-size: .88rem; scroll-snap-align: start; }
  .industry-explorer { min-height: 0; margin-top: 20px; padding: 34px 24px; gap: 28px; border-radius: 26px; }
  .industry-explorer::before { right: 22px; top: 20px; font-size: .52rem; }
  .industry-overline { max-width: 72%; margin-bottom: 15px; }
  .industry-copy > h3 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .industry-summary { margin: 19px 0 25px; }
  .industry-benefits { grid-template-columns: 1fr; }
  .industry-benefits li { min-height: 0; }
  .demo-phone { min-height: 530px; }
  .demo-journey { width: 100%; grid-template-columns: 1fr; }
  .demo-journey i { justify-self: center; transform: rotate(90deg); }
  .early-access { width: calc(100% - 20px); min-height: 530px; padding: 42px 24px; border-radius: 26px; }
  .site-footer { grid-template-columns: 1fr auto; row-gap: 16px; padding: 50px 0; }.site-footer p { grid-column: 1 / -1; grid-row: 2; margin: 0; }.site-footer > span { grid-column: 2; grid-row: 1; }
}

@media (max-width: 430px) {
  .platform-row { flex-direction: column; }
  .platform-row > span { width: 145px; }
  .phone-showcase { transform: scale(.62); }
  .dashboard-window { transform: scale(.54) rotateY(-4deg) rotateX(2deg); }
  .product-stage { height: 380px; }
  .payment-card { bottom: -5px; transform: scale(.75); }
  .booking-card { transform: scale(.78); }
  .feature { padding: 20px; }
  .feature-tap { padding: 20px; }
  .feature-tap img { width: 132%; margin: -2px -16% -48px; }
  .feature-copy { margin-top: 24px; }
  .mini-calendar { margin-top: 34px; }
  .people-stack, .money-visual { margin-top: 34px; }
  .money-visual > strong { font-size: 3.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
