/* ── shadcn neutral tokens, monochrome ─────────────────────────── */
:root{
  color-scheme:light;
  --background:0 0% 100%; --foreground:190 25% 9%;
  --card:0 0% 100%; --muted:185 22% 96.5%; --muted-foreground:195 9% 44%;
  --border:190 16% 89%;
  --primary:174 62% 24%; --primary-foreground:0 0% 100%;
  --primary-soft:174 45% 95%;
  --warn:33 88% 42%; --warn-soft:38 92% 95%;
  --danger:5 68% 46%; --danger-soft:6 80% 96%;
  --ring:174 45% 45%; --radius:0.625rem;
  --shadow:0 1px 2px 0 rgb(0 0 0 / .04), 0 10px 30px -14px rgb(0 0 0 / .14);
  --gutter:24px; --col:1080px; --read:660px;
  --band:104px;              /* vertical rhythm for every section */
}
@media (max-width:720px){ :root{ --band:72px; --gutter:20px } }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:hsl(var(--background))}
body{
  margin:0;background:hsl(var(--background));color:hsl(var(--foreground));
  font-family:"Geist","Geist Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:hsl(var(--foreground));color:hsl(var(--background))}

/* ── layout primitives ─────────────────────────────────────────── */
.band{padding:var(--band) 0;border-top:1px solid hsl(var(--border))}
.band:first-of-type{border-top:0}
.band.tint{background:hsl(var(--muted)/.7)}
.wrap{width:100%;max-width:var(--col);margin-inline:auto;padding-inline:var(--gutter)}
.read{max-width:var(--read);margin-inline:auto}
.center{text-align:center}

/* ── header ─────────────────────────────────────────────────────── */
header{
  border-bottom:1px solid hsl(var(--border));position:sticky;top:0;z-index:50;
  background:#fff;backdrop-filter:none;
}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:58px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;letter-spacing:-.018em;
  text-decoration:none;color:inherit;font-size:15px}
.mark{width:20px;height:20px;flex:none;display:block}
.nav{display:flex;align-items:center;gap:22px}
.nav a{font-size:13.5px;color:hsl(var(--muted-foreground));text-decoration:none;transition:color .15s}
.nav a:hover{color:hsl(var(--foreground))}
.nav a.login{color:hsl(var(--foreground));font-weight:500;border:1px solid hsl(var(--border));
  border-radius:999px;padding:6px 15px;transition:background .15s,border-color .15s}
.nav a.login:hover{background:hsl(var(--muted));border-color:hsl(var(--muted-foreground)/.3)}

.menu-btn{display:none;background:none;border:0;padding:6px;margin:-6px 0;cursor:pointer;
  color:hsl(var(--foreground))}
.menu-btn svg{width:22px;height:22px;display:block}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-menu{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}

@media (max-width:680px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  /* Dropdown is an overlay (position:absolute), not pushed into flex flow — this way opening
     it never grows the sticky header's own height or shoves hero content down/off-screen
     (that was the old bug: header went 59px -> 336px tall on open, shoving the hero out of view). */
  .nav{
    position:absolute;top:100%;left:0;right:0;
    display:flex;flex-direction:column;align-items:stretch;gap:2px;
    max-height:0;opacity:0;padding:0 var(--gutter);overflow:hidden;
    background:hsl(var(--background));border-top:1px solid transparent;
    box-shadow:0 16px 32px -16px rgb(0 0 0 / .16);
    transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,
      padding .28s cubic-bezier(.4,0,.2,1),border-color .28s ease;
  }
  .nav.open{max-height:420px;opacity:1;padding:10px var(--gutter) 18px;border-top-color:hsl(var(--border))}
  .nav a{padding:11px 2px;font-size:14.5px}
  .nav a.login{align-self:flex-start;margin-top:8px}
}

/* ── hero + faded grid ─────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;padding-top:112px;padding-bottom:var(--band)}
.grid-bg{
  position:absolute;inset:-1px 0 auto;height:760px;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to right, hsl(var(--border)) 1px, transparent 1px),
    linear-gradient(to bottom, hsl(var(--border)) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 6%, #000 0%, transparent 78%);
          mask-image:radial-gradient(ellipse 62% 58% at 50% 6%, #000 0%, transparent 78%);
  opacity:.85;
}
.glow{position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:820px;height:520px;
  pointer-events:none;z-index:0;border-radius:999px;
  background:radial-gradient(closest-side, hsl(var(--primary)/.16), transparent 72%);
  filter:blur(4px)}
.hero .wrap{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:7px;border:1px solid hsl(var(--border));
  border-radius:999px;padding:4px 12px;font-size:12.5px;color:hsl(var(--muted-foreground));
  margin-bottom:26px;background:hsl(var(--background)/.7);backdrop-filter:blur(4px)}
.dot{width:5px;height:5px;border-radius:999px;background:hsl(var(--primary));opacity:.9;
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:.9}}
h1{font-size:clamp(33px,6.4vw,54px);line-height:1.07;letter-spacing:-.038em;font-weight:600;
  margin:0 0 20px}
h1 .fade{color:hsl(var(--primary))}
.lede{font-size:17px;color:hsl(var(--muted-foreground));margin:0 auto 34px;max-width:34rem}

/* ── buttons ────────────────────────────────────────────────────── */
.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;background:hsl(var(--primary));
  color:hsl(var(--primary-foreground));border:1px solid transparent;
  border-radius:calc(var(--radius) - 2px);padding:0 18px;height:40px;
  font:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;
  transition:opacity .15s,transform .06s}
.btn:hover{opacity:.9}
.btn:active{transform:translateY(.5px)}
.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.btn svg{width:15px;height:15px;flex:none}
.btn.ghost{background:transparent;color:hsl(var(--foreground));border-color:hsl(var(--border))}
.btn.ghost:hover{background:hsl(var(--muted));opacity:1}

/* ── section headings ───────────────────────────────────────────── */
.section-label{font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:hsl(var(--muted-foreground));margin:0 0 12px}
h2{font-size:clamp(21px,3vw,26px);letter-spacing:-.026em;font-weight:600;margin:0 0 12px;line-height:1.24}
.sub{color:hsl(var(--muted-foreground));font-size:15px;margin:0}

/* ── demo ───────────────────────────────────────────────────────── */
.demo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:18px;flex-wrap:wrap}
.replay{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 0;
  font:inherit;font-size:13px;color:hsl(var(--muted-foreground));cursor:pointer}
.replay:hover{color:hsl(var(--foreground))}
.replay svg{width:13px;height:13px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.replay.spin svg{transform:rotate(-360deg)}

.stage{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:hsl(var(--border));
  border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:box-shadow .25s,transform .25s;position:relative}
.stage:hover{box-shadow:0 1px 2px 0 rgb(0 0 0 / .04), 0 22px 44px -18px rgb(0 0 0 / .2);
  transform:translateY(-2px)}
@media (min-width:761px){.stage{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.stage{grid-template-columns:1fr}}
.pane{background:hsl(var(--card));min-height:420px;display:flex;flex-direction:column}
.pane-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;
  border-bottom:1px solid hsl(var(--border));font-size:12.5px;color:hsl(var(--muted-foreground))}
.pane-bar .who{font-weight:500;color:hsl(var(--foreground));font-size:13px}
.avatar{width:22px;height:22px;border-radius:999px;background:hsl(var(--muted));
  border:1px solid hsl(var(--border));display:grid;place-items:center;font-size:10px;
  font-weight:600;color:hsl(var(--muted-foreground));flex:none}
.live{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:11.5px}
.live i{width:5px;height:5px;border-radius:999px;background:hsl(var(--primary));
  opacity:.75;animation:pulse 1.6s ease-in-out infinite;font-style:normal}

.chat{flex:1;padding:18px 16px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.msg{max-width:86%;padding:8px 12px;border-radius:14px;font-size:13.5px;line-height:1.5;
  opacity:0;transform:translateY(8px) scale(.98);animation:pop .34s cubic-bezier(.16,1,.3,1) forwards}
@keyframes pop{to{opacity:1;transform:none}}
.msg.them{align-self:flex-start;background:hsl(var(--muted));border-bottom-left-radius:5px}
.msg.me{align-self:flex-end;background:hsl(var(--primary));color:hsl(var(--primary-foreground));
  border-bottom-right-radius:5px}
.msg .t{display:block;font-size:10.5px;opacity:.55;margin-top:3px}
.typing{align-self:flex-start;display:flex;gap:3.5px;padding:11px 13px;background:hsl(var(--muted));
  border-radius:14px;border-bottom-left-radius:5px}
.typing i{width:5px;height:5px;border-radius:999px;background:hsl(var(--muted-foreground));
  animation:bounce 1.3s infinite;font-style:normal}
.typing i:nth-child(2){animation-delay:.16s}
.typing i:nth-child(3){animation-delay:.32s}
@keyframes bounce{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}

.out{flex:1;padding:18px 16px;display:flex;flex-direction:column;gap:12px}
.empty{margin:auto;text-align:center;color:hsl(var(--muted-foreground));font-size:13px;max-width:15rem}
.empty svg{width:26px;height:26px;opacity:.3;margin-bottom:10px}
.empty p{margin:0}
.card{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);
  background:hsl(var(--background));overflow:hidden;
  opacity:0;transform:translateY(10px);animation:pop .4s cubic-bezier(.16,1,.3,1) forwards}
.card-top{display:flex;align-items:center;gap:8px;padding:11px 14px;
  border-bottom:1px solid hsl(var(--border));font-size:12.5px;font-weight:500}
.card-top svg{color:hsl(var(--primary))}
.badge{margin-left:auto;font-size:10.5px;font-weight:500;padding:2px 8px;border-radius:999px;
  border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}
.rows{padding:4px 14px 12px;margin:0}
.row{display:flex;gap:12px;padding:6px 0;font-size:13px;
  opacity:0;animation:pop .3s cubic-bezier(.16,1,.3,1) forwards}
.row dt{width:74px;flex:none;color:hsl(var(--muted-foreground));font-size:12.5px}
.row dd{margin:0;font-weight:450}
.stock{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);
  padding:12px 14px;display:flex;align-items:center;gap:11px;
  opacity:0;animation:pop .4s cubic-bezier(.16,1,.3,1) forwards}
.stock .lbl{font-size:12.5px;color:hsl(var(--muted-foreground))}
.stock .val{margin-left:auto;display:flex;align-items:center;gap:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.stock .was{color:hsl(var(--muted-foreground));text-decoration:line-through;opacity:.6}
.stock .now{font-weight:600;color:hsl(var(--primary))}
.flash{animation:flash .9s ease-out}
@keyframes flash{0%{background:hsl(var(--primary-soft))}100%{background:transparent}}

/* ── steps ──────────────────────────────────────────────────────── */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:hsl(var(--border));border:1px solid hsl(var(--border));border-radius:var(--radius);
  overflow:hidden}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.steps li{background:hsl(var(--card));padding:24px 22px;transition:background .18s}
.steps li:hover{background:hsl(var(--muted)/.5)}
.steps .num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;
  color:hsl(var(--muted-foreground));display:block;margin-bottom:12px}
.steps h3{margin:0 0 5px;font-size:14.5px;font-weight:550;letter-spacing:-.012em}
.steps p{margin:0;font-size:13.5px;color:hsl(var(--muted-foreground))}

/* ── checklists ─────────────────────────────────────────────────── */
/* who it is for: plain two column checklist, no box */
.who-list{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px 40px;
  grid-template-columns:repeat(2,1fr)}
@media (max-width:640px){.who-list{grid-template-columns:1fr}}
.who-list li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;
  color:hsl(var(--muted-foreground))}
.who-list svg{width:15px;height:15px;flex:none;margin-top:4px;color:hsl(var(--primary))}

/* what we do not do: hairline rows, no box */
.plain{list-style:none;padding:0;margin:30px 0 0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:0 48px}
@media (max-width:700px){.plain{grid-template-columns:1fr}}
.plain li{padding:18px 0;border-top:1px solid hsl(var(--border))}
.plain b{font-weight:550;display:block;margin-bottom:3px;font-size:14.5px;letter-spacing:-.008em}
.plain span{color:hsl(var(--muted-foreground));font-size:13.5px}
.plain a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ── product frame: orders + stock ──────────────────────────────── */
.app{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;
  background:hsl(var(--card));box-shadow:var(--shadow);margin-top:28px;
  transition:box-shadow .25s,transform .25s}
.app:hover{box-shadow:0 1px 2px 0 rgb(0 0 0 / .04), 0 22px 44px -18px rgb(0 0 0 / .2);
  transform:translateY(-2px)}
.app-bar{display:flex;align-items:center;gap:8px;padding:11px 15px;
  border-bottom:1px solid hsl(var(--border))}
.dots{display:flex;gap:6px;margin-right:6px;flex:none}
.dots i{width:9px;height:9px;border-radius:999px;background:hsl(var(--border));font-style:normal}
.app-title{font-size:12.5px;color:hsl(var(--muted-foreground));white-space:nowrap}
.tabs{margin-left:auto;display:flex;gap:2px;background:hsl(var(--muted));
  border-radius:999px;padding:3px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{border:0;background:none;font:inherit;font-size:12.5px;font-weight:500;white-space:nowrap;flex:none;
  color:hsl(var(--muted-foreground));padding:5px 14px;border-radius:999px;cursor:pointer;
  transition:background .16s,color .16s}
.tab[aria-selected="true"]{background:hsl(var(--background));color:hsl(var(--foreground));
  box-shadow:0 1px 2px rgb(0 0 0 / .06)}
@media (max-width:480px){
  .app-bar{flex-wrap:wrap;row-gap:8px}
  .app-title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
  .tabs{margin-left:0;flex:1 1 100%;order:3;flex-wrap:wrap;border-radius:calc(var(--radius) - 2px)}
  .tab{flex:1 1 auto;border-radius:calc(var(--radius) - 4px)}
}

.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px}
table.orders{min-width:640px}
@media (max-width:560px){
  thead th,tbody td{padding-inline:12px}
  /* orders: stack each row into a two-line card instead of scrolling sideways */
  table.orders{min-width:0}
  table.orders thead{display:none}
  table.orders tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;
    padding:12px 14px;border-bottom:1px solid hsl(var(--border))}
  table.orders tbody tr:last-child{border-bottom:0}
  table.orders td{padding:0;border:0}
  table.orders td.id,table.orders td.pay{display:none}
  table.orders td.item{grid-column:1;grid-row:2;color:hsl(var(--muted-foreground));font-size:13px}
  table.orders td.stat{grid-column:2;grid-row:2;justify-self:end}
}
thead th{text-align:left;font-weight:500;font-size:11.5px;letter-spacing:.05em;
  text-transform:uppercase;color:hsl(var(--muted-foreground));
  padding:11px 16px;border-bottom:1px solid hsl(var(--border));white-space:nowrap}
tbody td{padding:13px 16px;border-bottom:1px solid hsl(var(--border));vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .14s}
tbody tr:hover{background:hsl(var(--muted)/.5)}
td.id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;
  color:hsl(var(--muted-foreground))}
td.num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right;white-space:nowrap}
td .via{display:block;font-size:11.5px;color:hsl(var(--muted-foreground));margin-top:2px}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;
  border:1px solid hsl(var(--border));border-radius:999px;padding:2px 9px;white-space:nowrap}
.pill.solid{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:transparent}
.pill.ok{background:hsl(var(--primary-soft));color:hsl(var(--primary));border-color:hsl(var(--primary)/.22)}
.pill.warn{background:hsl(var(--warn-soft));color:hsl(var(--warn));border-color:hsl(var(--warn)/.25)}
.pill.bad{background:hsl(var(--danger-soft));color:hsl(var(--danger));border-color:hsl(var(--danger)/.25)}
.pill i{width:5px;height:5px;border-radius:999px;background:currentColor;font-style:normal;opacity:.7}
.bar{display:inline-block;width:54px;height:5px;border-radius:999px;background:hsl(var(--muted));
  overflow:hidden;vertical-align:middle;margin-right:9px}
.bar span{display:block;height:100%;background:hsl(var(--primary))}
.bar.low span{background:hsl(var(--warn))}
.bar.out span{background:hsl(var(--danger))}
.panel[hidden]{display:none}
.app-foot{padding:11px 16px;border-top:1px solid hsl(var(--border));
  font-size:12.5px;color:hsl(var(--muted-foreground));display:flex;
  justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ── pricing ────────────────────────────────────────────────────── */
.price-card{border:1px solid hsl(var(--border));border-radius:var(--radius);
  background:hsl(var(--card));padding:34px;margin-top:28px;box-shadow:var(--shadow);
  transition:box-shadow .25s,transform .25s}
.price-card:hover{box-shadow:0 1px 2px 0 rgb(0 0 0 / .04), 0 22px 44px -18px rgb(0 0 0 / .2);
  transform:translateY(-2px)}
.price-card.split{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:40px;align-items:start}
@media (max-width:760px){.price-card.split{grid-template-columns:1fr;gap:26px}}
.price-side{border-right:1px solid hsl(var(--border));padding-right:36px}
@media (max-width:760px){.price-side{border-right:0;padding-right:0;
  border-bottom:1px solid hsl(var(--border));padding-bottom:24px}}
.price-top{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.price{font-size:38px;font-weight:600;letter-spacing:-.032em;line-height:1;color:hsl(var(--primary))}
.per{font-size:14px;color:hsl(var(--muted-foreground));padding-bottom:4px}
.price-note{font-size:13.5px;color:hsl(var(--muted-foreground));margin:0 0 20px}
.incl{list-style:none;padding:0;margin:0;display:grid;gap:12px;align-content:start}
.incl li{display:flex;gap:11px;align-items:flex-start;font-size:14px}
.incl svg{width:15px;height:15px;flex:none;margin-top:4px;color:hsl(var(--primary))}
.price-foot{border-top:1px solid hsl(var(--border));padding-top:20px;margin:0;
  font-size:13.5px;color:hsl(var(--muted-foreground))}
.price-foot strong{color:hsl(var(--foreground));font-weight:500}

/* ── what we don't do ───────────────────────────────────────────── */
.nots{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:1px;
  grid-template-columns:repeat(2,1fr);background:hsl(var(--border));
  border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}
@media (max-width:640px){.nots{grid-template-columns:1fr}}
.nots li{background:hsl(var(--card));padding:20px;font-size:14.5px}
.nots b{font-weight:550;display:block;margin-bottom:3px}
.nots span{color:hsl(var(--muted-foreground));font-size:13.5px}
.nots a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ── lead capture form (email or phone, POSTs to /api/enquiries) ───── */
.lead-form{display:flex;align-items:stretch;height:40px;border:1px solid hsl(var(--border));
  border-radius:calc(var(--radius) - 2px);background:hsl(var(--card));overflow:hidden;
  transition:border-color .15s,box-shadow .15s}
.lead-form:focus-within{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.15)}
.lead-form input{border:0;background:none;font:inherit;font-size:14px;padding:0 14px;
  width:220px;max-width:44vw;color:hsl(var(--foreground))}
.lead-form input::placeholder{color:hsl(var(--muted-foreground))}
.lead-form input:focus{outline:0}
.lead-form .btn{border-radius:0;flex:none}
@media (max-width:480px){.lead-form input{width:150px;max-width:100%}}
.lead-status{font-size:12.5px;color:hsl(var(--muted-foreground));margin:14px 0 0;text-align:center}
.lead-status.ok{color:hsl(var(--primary))}
.lead-status.err{color:hsl(var(--danger))}

/* ── cta band ───────────────────────────────────────────────────── */
.cta-band{text-align:center}
.cta-band p{color:hsl(var(--muted-foreground));font-size:15px;margin:0 auto 26px;max-width:30rem}
.mailhint{margin:18px 0 0;font-size:12.5px;color:hsl(var(--muted-foreground))}
.mailhint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
  background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:5px;padding:2px 7px;
  cursor:pointer}
.mailhint code:hover{color:hsl(var(--foreground))}

/* ── footer ─────────────────────────────────────────────────────── */
footer{border-top:1px solid hsl(var(--border))}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;
  justify-content:space-between;padding-block:26px 34px;
  font-size:13px;color:hsl(var(--muted-foreground))}
footer a{color:inherit;text-decoration:none}
footer a:hover{color:hsl(var(--foreground))}
.flinks{display:flex;flex-wrap:wrap;gap:8px 20px}
.flinks a{white-space:nowrap}

/* ── small screens ──────────────────────────────────────────────── */
@media (max-width:560px){
  .hero{padding-top:72px}
  .pane{min-height:300px}
  .price-card{padding:22px}
  .roadmap li,.nots li{padding:18px}
}
/* lift-on-hover only where hover exists; on touch it sticks after a tap */
@media (hover:none){
  .stage:hover,.app:hover,.price-card:hover{transform:none;box-shadow:var(--shadow)}
}

/* ── doc pages ──────────────────────────────────────────────────── */
.doc h1{font-size:30px;letter-spacing:-.028em;margin:0 0 6px}
.doc .updated{font-size:13px;color:hsl(var(--muted-foreground));margin:0 0 10px}
.doc h2{font-size:15px;font-weight:600;letter-spacing:-.012em;margin:34px 0 10px;
  padding-top:24px;border-top:1px solid hsl(var(--border))}
.doc p,.doc li{font-size:14.5px;color:hsl(var(--muted-foreground))}
.doc p{margin:0 0 12px}
.doc ul{margin:0 0 12px;padding-left:18px}
.doc li{margin-bottom:6px}
.doc strong{color:hsl(var(--foreground));font-weight:500}
.doc a{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}
.back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;
  color:hsl(var(--muted-foreground));text-decoration:none;margin-bottom:28px}
.back:hover{color:hsl(var(--foreground))}
.back svg{width:13px;height:13px}

/* ── scroll reveal ──────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* The two panels meet at one quiet divider; a floating arrow competed with the order itself. */
.flow{display:none}
@keyframes flow-nudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(3px);opacity:1}}

/* ── location total callout ─────────────────────────────────────── */
.loc-total{display:flex;align-items:center;gap:11px;padding:13px 16px;
  border-top:1px dashed hsl(var(--border));font-size:13px;background:hsl(var(--muted)/.4)}
.loc-total svg{width:14px;height:14px;flex:none;color:hsl(var(--primary))}
.loc-total b{font-weight:600;color:hsl(var(--foreground))}
.loc-total span{color:hsl(var(--muted-foreground))}

/* ── two-way sync diagram ───────────────────────────────────────── */
.sync{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;
  margin-top:28px;border:1px solid hsl(var(--border));border-radius:var(--radius);
  overflow:hidden;background:hsl(var(--border));box-shadow:var(--shadow)}
@media (max-width:640px){.sync{grid-template-columns:1fr}}
.sync-card{background:hsl(var(--card));padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px}
.sync-top{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500}
.sync-top svg{width:17px;height:17px;flex:none;color:hsl(var(--primary))}
.sync-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);
  padding:11px 13px;font-size:13.5px}
.sync-row .sync-count{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:600;color:hsl(var(--primary));transition:color .2s}
.sync-row.pulse .sync-count{animation:flash .9s ease-out}
.sync-note{font-size:12px;color:hsl(var(--muted-foreground));margin:0}
.sync-flow{display:flex;align-items:center;justify-content:center;background:hsl(var(--card));
  padding:0 6px}
@media (max-width:640px){.sync-flow{padding:14px 0}.sync-flow .ring{transform:rotate(90deg)}}
.sync-flow .ring{width:34px;height:34px;border-radius:999px;border:1px solid hsl(var(--border));
  display:grid;place-items:center;color:hsl(var(--primary));background:hsl(var(--background))}
.sync-flow svg{width:16px;height:16px;animation:sync-pulse 2.2s ease-in-out infinite}
@keyframes sync-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

/* ── roadmap / coming soon ──────────────────────────────────────── */
.roadmap{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:1px;
  grid-template-columns:repeat(2,1fr);background:hsl(var(--border));
  border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}
@media (max-width:700px){.roadmap{grid-template-columns:1fr}}
.roadmap li{background:hsl(var(--card));padding:20px}
.roadmap .rm-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.roadmap b{font-weight:550;font-size:14.5px;letter-spacing:-.008em}
.roadmap li > span{color:hsl(var(--muted-foreground));font-size:13.5px}
.roadmap .soon{flex:none;font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;background:hsl(var(--warn-soft));color:hsl(var(--warn));
  border:1px solid hsl(var(--warn)/.25);white-space:nowrap}

/* ── faq ────────────────────────────────────────────────────────── */
.faqs{margin-top:28px;border-top:1px solid hsl(var(--border))}
.faqs details{border-bottom:1px solid hsl(var(--border))}
.faqs summary{list-style:none;cursor:pointer;padding:18px 2px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;
  font-size:15px;font-weight:500;letter-spacing:-.01em}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary svg{width:15px;height:15px;flex:none;color:hsl(var(--muted-foreground));
  transition:transform .25s cubic-bezier(.16,1,.3,1)}
.faqs details[open] summary svg{transform:rotate(180deg)}
.faqs details p{margin:0;padding:0 2px 18px;color:hsl(var(--muted-foreground));font-size:14px;max-width:36rem}

/* ── Weathervane landing page: shop-first story ──────────────────── */
main{display:flex;flex-direction:column}
.hero{order:0;width:100%;min-height:calc(100vh - 58px);min-height:calc(100dvh - 58px);display:flex;align-items:center;background:#fff;color:#193b32;padding:72px 0 78px}
#how{order:1}
#demo{order:2}
#product{order:3;background:#f2f5f0}
#free-link{order:4}
#try{order:5}
#pricing{order:6}
#faq{order:7}
#contact{order:8}
.hero .grid-bg{height:100%;opacity:.42;background-image:
  linear-gradient(to right,rgba(32,93,71,.08) 1px,transparent 1px),
  linear-gradient(to bottom,rgba(32,93,71,.08) 1px,transparent 1px);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%);
  mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.hero .glow{background:radial-gradient(closest-side,rgba(81,151,105,.1),transparent 72%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);align-items:center;gap:48px;max-width:1160px;text-align:left}
.hero-copy{max-width:540px}
.hero .eyebrow{border-color:#d8e3dc;color:#65776d;background:#fff;margin-bottom:22px}
.hero .dot{background:#32835c}
.hero h1{font-size:clamp(38px,5.6vw,66px);letter-spacing:-.05em;line-height:1.02;margin-bottom:22px}
.hero h1 .fade{color:#2b7654}
.hero .lede{color:#63736b;margin:0 0 26px;max-width:32rem;font-size:17px;line-height:1.6}
.hero .actions{justify-content:flex-start}
.hero .btn{background:#174f3f;color:#fff;font-weight:600;border-radius:var(--radius);height:46px;padding-inline:20px}
.hero .btn.ghost{background:#fff;color:#174f3f;border-color:#bfd1c4}
.hero .btn.ghost:hover{background:#f1f6f2}
.hero-stock{position:relative;z-index:1;max-width:470px;width:100%;justify-self:end;border:1px solid #dce5dd;border-radius:var(--radius);background:#fff;color:#20332f;padding:12px 18px;box-shadow:0 18px 40px rgba(26,60,43,.1);transform:rotate(1deg)}
.hero-stock-head,.hero-stock-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-stock-head{padding:7px 1px 13px;border-bottom:1px solid #e8ede9;font-size:12px;color:#718078}
.hero-stock-head span{display:inline-flex;align-items:center;gap:8px}
.hero-stock-head i{width:8px;height:8px;border-radius:50%;background:#3e9878;box-shadow:0 0 0 4px #e6f3ec}
.hero-stock-head b{font-weight:500;border-radius:999px;background:#f1f5f2;padding:5px 9px;color:#53635b}
.hero-stock-row{display:flex;align-items:center;gap:12px;padding:15px 1px;border-bottom:1px solid #edf0ed}
.hero-stock-row strong{margin-left:auto;white-space:nowrap;font-size:17px;font-variant-numeric:tabular-nums;color:#183f36}
.hero-stock-row strong small{display:block;text-align:right;font-size:10px;font-weight:450;color:#829088}
.hero-product b,.hero-product small{display:block}
.hero-product b{font-size:13px;font-weight:550}
.hero-product small{margin-top:3px;font-size:11px;color:#7a887f}
.swatch{display:block;width:36px;height:42px;flex:none;border-radius:7px;background:#e5d08e}
.swatch-gold{background:linear-gradient(135deg,#eee3b5,#d1b660 48%,#efe0a7)}
.swatch-blue{background:linear-gradient(135deg,#d6e2df,#709a91 50%,#e4ece7)}
.swatch-red{background:linear-gradient(135deg,#edcfc2,#af5946 54%,#e3aa91)}
.hero-stock-foot{padding:12px 1px 3px;font-size:11px;color:#79877f}
.hero-spark{font-size:15px;letter-spacing:2px;color:#347e66}
.hero-order{padding:0;overflow:hidden;transform:rotate(1deg)}
.hero-order-head,.hero-order-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-order-head{padding:13px 16px;border-bottom:1px solid #e8ede9;font-size:12px;color:#65776d}
.hero-order-head span{display:inline-flex;align-items:center;gap:8px;font-weight:550;color:#355247}
.hero-order-head i{width:8px;height:8px;border-radius:50%;background:#a83967;box-shadow:0 0 0 4px #f9eef2}
.hero-order-head b{font-size:10.5px;font-weight:550;border-radius:999px;background:#f1f5f2;padding:5px 9px;color:#53635b}
.hero-order-body{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);align-items:center;gap:10px;padding:17px 16px;background:#fbfcfb}
.hero-chat-card,.hero-ready-card{min-height:166px;border:1px solid #e1e8e3;border-radius:10px;background:#fff;padding:11px;box-shadow:0 5px 12px rgba(26,60,43,.04)}
.hero-card-label{display:flex;align-items:center;gap:6px;padding-bottom:9px;border-bottom:1px solid #edf1ed;font-size:10px;font-weight:600;color:#506158}
.hero-ig-dot,.hero-ready-dot{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:11px;line-height:1}.hero-ig-dot{background:#f9eef2;color:#a83967}.hero-ready-dot{background:#e8f4eb;color:#28774e}
.hero-chat-card p{width:max-content;max-width:92%;margin:8px 0 0;padding:6px 8px;border-radius:10px 10px 10px 3px;background:#f0f0f0;color:#313131;font-size:9.5px;line-height:1.35}.hero-chat-card .hero-chat-yes{margin-left:auto;border-radius:10px 10px 3px 10px;background:#e5f3ea;color:#215d44}
.hero-order-arrow{display:grid;justify-items:center;gap:6px;color:#4d8d68;text-align:center}.hero-order-arrow svg{width:24px;height:24px}.hero-order-arrow span{font-size:9px;font-weight:600;line-height:1.2;color:#61726a}
.hero-ready-card{border-color:#bcd8c3}.hero-ready-item{display:flex;align-items:center;gap:8px;padding:11px 0 9px;border-bottom:1px solid #edf1ed}.hero-ready-item .swatch{width:24px;height:30px;border-radius:5px}.hero-ready-item b,.hero-ready-item small{display:block}.hero-ready-item b{font-size:10.5px;color:#24453a}.hero-ready-item small{margin-top:2px;font-size:9px;color:#78877f}
.hero-ready-details{display:flex;justify-content:space-between;gap:8px;padding-top:8px;color:#718078;font-size:9px}.hero-ready-details b{font-weight:600;color:#28774e}
.hero-order-foot{padding:11px 16px;border-top:1px solid #e8ede9;color:#6c7c73;font-size:10.5px;flex-wrap:wrap}.hero-order-foot b{font-weight:600;color:#355247}.hero-channel-counts{display:flex;gap:4px}.hero-channel-counts i{font-style:normal;white-space:nowrap;border:1px solid #dce7df;border-radius:999px;background:#f5f9f5;padding:3px 5px;color:#47705a;font-size:8.5px;font-weight:600}
#product.band{padding-top:78px;padding-bottom:78px}
#product .sub{max-width:42rem;line-height:1.55}
#product .inventory-flow{margin-top:32px;display:grid;grid-template-columns:minmax(0,1fr) 116px minmax(290px,.9fr);align-items:center;gap:0;padding:24px;border:1px solid #d7e2d8;border-radius:var(--radius);background:#f9fbf9;box-shadow:0 12px 32px rgba(26,60,43,.06);overflow:hidden}
.flow-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.flow-source{position:relative;min-height:92px;padding:11px 10px;border:1px solid #dce6df;border-radius:9px;background:#fff;color:#4d6055;font-size:12px;font-weight:550;line-height:1.25}
.flow-source>span:not(.source-icon){display:block;margin-top:6px}
.source-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#eef4ef;color:#23664d}.source-icon svg{width:15px;height:15px}
.instagram .source-icon{background:#f9eef2;color:#a83967}.whatsapp .source-icon{background:#ebf7ee;color:#25834c}.counter .source-icon{background:#edf3f8;color:#466d8a}.shopify .source-icon{background:#edf7ee;color:#4f8a4b}
.flow-source small.source-stock{display:block;margin-top:8px;color:#718078;font-size:9.5px;font-weight:450;white-space:nowrap}.source-stock b{color:#174f3f;font-size:11px;font-variant-numeric:tabular-nums}.shopify-label{display:inline!important;margin:0!important;color:#718078;font-size:9px;font-weight:450}
.sale-ping{position:absolute;right:7px;top:8px;margin:0!important;padding:3px 5px;border-radius:4px;background:#e4f3e8;color:#227144!important;font-size:8.5px!important;font-weight:650!important;opacity:0;transform:translateY(3px)}
.flow-line{height:2px;background:#c5d8ca;position:relative}.flow-line::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid #4d8d68;border-right:2px solid #4d8d68;transform:translateY(-50%) rotate(45deg)}
.order-token{position:absolute;z-index:1;top:50%;left:0;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #e6c8d3;border-radius:6px;background:#fff;color:#a83967;font-size:9px;white-space:nowrap;opacity:0;transform:translateY(-50%)}.order-token svg{width:13px;height:13px}.order-token b{font-weight:650}
.central-stock{border:1px solid #cbddd0;border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(22,76,62,.08);overflow:hidden}.central-head,.central-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;color:#6d7d73;font-size:11px}.central-head{border-bottom:1px solid #ebf0eb}.central-head span{display:inline-flex;align-items:center;gap:7px}.central-head i{width:7px;height:7px;border-radius:50%;background:#3d9a69;box-shadow:0 0 0 3px #e6f4eb}.central-head b{padding:2px 7px;border-radius:99px;background:#e8f4eb;color:#28774e;font-size:10px}.central-item{display:flex;align-items:center;gap:10px;padding:14px 13px}.central-item .swatch{width:28px;height:34px}.central-item strong,.central-item small{display:block}.central-item strong{font-size:13px;color:#204237}.central-item small{margin-top:2px;font-size:10.5px;color:#7a887f}.count-change{position:relative;margin-left:auto;display:flex;align-items:center;gap:4px}.flow-count{color:#174f3f;font-size:25px;font-weight:650;font-style:normal;font-variant-numeric:tabular-nums;transition:color .2s}.count-before,.count-delta{display:none;color:#ba5838;font-size:10px;font-weight:700}.count-before{text-decoration:line-through;opacity:.68}.central-foot{border-top:1px solid #edf1ed}.central-available{color:#87958d;white-space:nowrap}.flow-caption{grid-column:1/-1;margin:18px 0 0;color:#65776d;font-size:12.5px;text-align:center}
.inventory-flow.is-selling .instagram{border-color:#93c6a2;background:#f4fbf5}.inventory-flow.is-selling .sale-ping{animation:ping-in .8s ease forwards}.inventory-flow.is-selling .order-token{animation:ig-order .72s cubic-bezier(.2,.7,.25,1) .08s forwards}.inventory-flow.is-sold .flow-count{color:#b05f2f;animation:count-pulse .45s ease}.inventory-flow.is-sold .count-delta,.inventory-flow.is-sold .count-before{display:inline}.inventory-flow.is-sold .flow-event{color:#28774e;font-weight:650}.inventory-flow.is-sold .source-stock b{color:#b05f2f}.inventory-flow.is-sold .flow-source{transition:background .18s,border-color .18s}.inventory-flow.is-sold .flow-source:not(.instagram){background:#f3faf4;border-color:#b9d8c0}.inventory-flow.is-sold .central-stock{border-color:#84bd92;box-shadow:0 0 0 3px #e3f2e6,0 8px 20px rgba(22,76,62,.08)}
.central-item .count-before,.central-item .count-delta{display:none}.inventory-flow.is-sold .central-item .count-before,.inventory-flow.is-sold .central-item .count-delta{display:inline}
@keyframes ig-order{0%{opacity:0;transform:translate(-4px,-50%)}14%{opacity:1}100%{opacity:1;left:calc(100% - 76px);transform:translate(0,-50%)}}@keyframes ping-in{0%{opacity:0;transform:translateY(3px)}20%,80%{opacity:1;transform:none}100%{opacity:0}}@keyframes count-pulse{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
#product .app{margin-top:28px;border-color:#dce5dd;border-radius:var(--radius);box-shadow:0 18px 42px rgba(26,60,43,.09)}
#product .app-bar{padding:12px 16px;background:#fbfcfa}
#product .app-title{font-weight:550;color:#53655b}
#product .tabs{background:#edf2ed;border-radius:var(--radius);padding:4px}
#product .tab{padding:8px 16px;border-radius:calc(var(--radius) - 2px);color:#64746b}
#product .tab[aria-selected="true"]{background:#fff;color:#164c3e;box-shadow:0 1px 4px rgba(31,62,44,.13)}
#product table{font-size:14px}
#product thead th{font-size:11px;letter-spacing:.04em;background:#fff}
#product tbody td{padding-block:16px}
#product .bar{width:68px;height:6px}
.brand-note{display:flex;align-items:center;gap:13px;margin:17px 0 0;padding:15px 18px;border:1px solid #dbe6dc;border-radius:var(--radius);background:#e9f0e9;color:#43544a;font-size:14px;line-height:1.5}
.brand-note b{color:#164c3e;font-weight:600}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#184c3e;color:#fff;font-size:13px;font-weight:600}
#how.band{padding-top:76px;padding-bottom:76px}
#how .stage{border-color:#dce5dd;border-radius:var(--radius);box-shadow:0 18px 42px rgba(26,60,43,.08)}
#how .pane{min-height:380px}
#how .pane-bar{min-height:59px;background:#fbfcfa}
#how .steps{border-color:#dce5dd;border-radius:var(--radius)}
#how .steps li{padding:20px 22px}
#how .steps .num{font-family:inherit;color:#98742f;font-weight:600}
#how .steps h3{color:#173f36}
#how .live{color:#28745b}
.demo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px 14px;border-top:1px solid hsl(var(--border));font-size:11px;color:hsl(var(--muted-foreground))}
.demo-confirm{border:0;border-radius:var(--radius);background:#174c3f;color:#fff;font:inherit;font-size:12px;font-weight:550;padding:9px 12px;cursor:pointer;white-space:nowrap}
.demo-confirm:hover{background:#236552}
.demo-confirm:focus-visible{outline:2px solid #c79c47;outline-offset:2px}
.demo-confirm[disabled]{background:#e6f2e9;color:#24633e;cursor:default}
.stock-confirmed{border-color:#b9d9c0;background:#f1f8f2}
#pricing .price-card{border-color:#dce5dd;border-radius:var(--radius)}
#contact{background:#eaf1eb}
#contact .wrap{max-width:720px}
#contact .btn{height:44px}
#contact .lead-form{height:44px}
.nav a{font-size:13.5px}
.nav a[href="#contact"]{color:#154b3e;font-weight:600}

@media (max-width:760px){
  .hero{padding:56px 0 60px}
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .hero-stock{justify-self:start;max-width:100%;transform:none}
  .hero-order{transform:none}
  .hero-order-body{grid-template-columns:1fr;gap:10px}
  .hero-chat-card,.hero-ready-card{min-height:0}
  .hero-order-arrow{grid-template-columns:auto auto;justify-content:center}
  .hero-order-arrow svg{transform:rotate(90deg)}
  #product.band,#how.band{padding-block:58px}
  .brand-note{align-items:flex-start}
  #product .inventory-flow{grid-template-columns:1fr;padding:17px;gap:15px}.flow-sources{gap:8px}.flow-source{min-height:88px;padding:10px}.flow-line{width:2px;height:34px;justify-self:center}.flow-line::after{right:auto;bottom:-1px;left:50%;top:auto;transform:translateX(-50%) rotate(135deg)}.order-token{left:50%;top:0;transform:translate(-50%,0)}@keyframes ig-order{0%{opacity:0;left:50%;top:0;transform:translate(-50%,-4px)}14%{opacity:1}100%{opacity:1;left:50%;top:calc(100% - 27px);transform:translate(-50%,0)}}
}
@media (max-width:480px){
  .hero h1{font-size:42px}
  .hero-stock:not(.hero-order){padding:10px 13px}
  .hero-stock-row{gap:9px;padding:12px 0}
  #product .tab{padding-inline:10px}
  #product tbody td{padding-block:12px}
  .demo-actions{align-items:flex-start;flex-direction:column}
  .demo-confirm{width:100%}
  #contact .lead-form{height:auto;min-height:44px}
  #contact .lead-form .btn{padding-inline:12px}
}

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

/* ── free shop link illustration ────────────────────────────────── */
.lk,.sh{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:30px}
@media (max-width:760px){.lk,.sh{grid-template-columns:1fr}.lk-arrow{transform:rotate(90deg);justify-self:center}}
.lk-card,.sh-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
.lk-top,.sh-top{display:flex;align-items:center;gap:9px;font-size:13px}
.lk-top span:last-child,.sh-top small{margin-left:auto;color:hsl(var(--muted-foreground));font-size:12px}
.sh-top .mark{width:17px;height:17px;color:hsl(var(--primary))}
.lk-av{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:hsl(var(--primary-soft));color:hsl(var(--primary));font-size:10.5px;font-weight:600}
.lk-img{height:120px;border-radius:8px;background:linear-gradient(135deg,#c495cf,#cfc79c)}
.lk-comments{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:13px}
.lk-comments li{background:hsl(var(--muted));border-radius:8px;padding:7px 10px}
.lk-comments b{font-weight:550;margin-right:6px}
.lk-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--primary))}
.lk-arrow svg{width:16px;height:16px}
.lk-shop{border-color:hsl(var(--primary)/.35)}
.lk-url{display:flex;align-items:center;gap:8px;font-size:12.5px;background:hsl(var(--primary-soft));color:hsl(var(--primary));border-radius:999px;padding:6px 12px;font-weight:500}
.lk-url svg{width:14px;height:14px}
.lk-shop-name{text-align:center;font-size:12px;letter-spacing:.28em;font-weight:550}
.lk-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lk-grid i{display:block;height:70px;border-radius:6px;margin-bottom:6px}
.lk-grid b{display:block;font-weight:500;font-size:12.5px}
.lk-grid small{color:hsl(var(--muted-foreground));font-size:12px}
.lk-btn{border:1px solid hsl(var(--foreground));border-radius:6px;text-align:center;padding:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:550}
.lk-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.lk-cta span{color:hsl(var(--muted-foreground));font-size:13.5px}

/* ── shipped message illustration ───────────────────────────────── */
.sh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid hsl(var(--border));border-radius:8px;padding:11px 13px;font-size:13px}
.sh-row em{font-style:normal;font-size:11px;font-weight:600;color:hsl(var(--primary));background:hsl(var(--primary-soft));border-radius:999px;padding:2px 9px}
.sh-status{display:flex;align-items:center;gap:10px;font-size:12.5px;color:hsl(var(--muted-foreground))}
.sh-status i{flex:1;height:2px;background:hsl(var(--primary))}
.sh-status .on{color:hsl(var(--primary));font-weight:600}
.sh-msg{background:hsl(var(--primary-soft));border-radius:10px 10px 10px 2px;padding:11px 13px;font-size:13.5px;max-width:92%}
.sh-note{margin:0;font-size:12px;color:hsl(var(--muted-foreground))}

/* ── motion for the free-link and shipped illustrations ─────────── */
.lk-comments li,.lk-grid>div,.lk-btn,.lk-url,.sh-row,.sh-msg,.sh-note{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.25,1)}
.lk:not(.play) .lk-comments li,.lk:not(.play) .lk-grid>div,.lk:not(.play) .lk-btn,.lk:not(.play) .lk-url{opacity:0;transform:translateY(10px)}
.lk:not(.play) .lk-arrow{opacity:.25}
.lk-arrow{transition:opacity .4s ease .9s,background .4s ease .9s}
.lk.play .lk-arrow{background:hsl(var(--primary-soft))}
.lk.play .lk-comments li:nth-child(1){transition-delay:.1s}.lk.play .lk-comments li:nth-child(2){transition-delay:.45s}
.lk.play .lk-comments li:nth-child(3){transition-delay:.8s}.lk.play .lk-comments li:nth-child(4){transition-delay:1.15s}
.lk.play .lk-url{transition-delay:1.6s}
.lk.play .lk-grid>div:nth-child(1){transition-delay:1.9s}.lk.play .lk-grid>div:nth-child(2){transition-delay:2.1s}
.lk.play .lk-grid>div:nth-child(3){transition-delay:2.3s}.lk.play .lk-grid>div:nth-child(4){transition-delay:2.5s}
.lk.play .lk-btn{transition-delay:2.8s}
.lk.play .lk-arrow svg{animation:flow-nudge 1.8s ease-in-out 1.4s infinite}
.lk-comments li:nth-child(4){background:hsl(var(--warn-soft));color:hsl(var(--warn))}
.lk-cta .btn{position:relative}
.lk.play ~ .lk-cta .btn{animation:cta-glow 2.4s ease-in-out 3.2s 2}
@keyframes cta-glow{0%,100%{box-shadow:0 0 0 0 hsl(var(--primary)/0)}50%{box-shadow:0 0 0 7px hsl(var(--primary)/.18)}}
.sh-status i{position:relative;overflow:hidden;background:hsl(var(--border))}
.sh-status u{position:absolute;inset:0;background:hsl(var(--primary));transform-origin:left;transition:transform 1s ease .3s}
.sh:not(.play) .sh-status u{transform:scaleX(0)}
.sh-status .on{transition:color .3s ease 1.2s}
.sh:not(.play) .sh-status .on{color:hsl(var(--muted-foreground));font-weight:400}
.sh-typing{display:none;gap:4px;padding:10px 12px;background:hsl(var(--muted));border-radius:10px;width:52px}
.sh-typing i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground));animation:typing 1s infinite}
.sh-typing i:nth-child(2){animation-delay:.15s}.sh-typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.sh.play .sh-typing{display:flex;animation:typing-out .2s ease 2.3s forwards}
@keyframes typing-out{to{opacity:0;height:0;padding:0;margin:0;border:0}}
.sh:not(.play) .sh-msg,.sh:not(.play) .sh-note{opacity:0;transform:translateY(8px) scale(.96)}
.sh.play .sh-msg{transition-delay:2.5s}.sh.play .sh-note{transition-delay:2.9s}
@media (prefers-reduced-motion:reduce){.lk *,.sh *{transition:none!important;animation:none!important}}

/* ── Instagram look: DM thread, post, browser preview ───────────── */
:root{--ig-grad:linear-gradient(45deg,#f9ce34,#ee2a7b 55%,#6228d7);--ig-bubble:linear-gradient(135deg,#7f5af0,#3d7bf7)}
.ig-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #efefef;background:#fff}
.ig-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ig-grad);padding:2px;flex:none}
.ig-av i{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#e9e4f5;border:2px solid #fff;color:#5b3fa0;font:600 10.5px/1 Geist,sans-serif;font-style:normal}
.ig-av.sm{width:30px;height:30px}
.ig-name{display:grid;line-height:1.25}.ig-name b{font-size:13.5px;font-weight:600}.ig-name small{font-size:11.5px;color:#8e8e8e}
.ig-icons{margin-left:auto;display:flex;gap:14px;color:#262626}.ig-icons svg{width:22px;height:22px}
#how .pane:first-child{background:#fff}
#how .ig-chat{background:#fff;padding:16px 14px;gap:4px}
#how .ig-chat .msg{font-size:14px;padding:9px 14px;border-radius:22px;line-height:1.4}
#how .ig-chat .msg.them{background:#efefef;color:#262626;border-bottom-left-radius:22px}
#how .ig-chat .msg.me{background:var(--ig-bubble);color:#fff;border-bottom-right-radius:22px}
#how .ig-chat .msg .t{display:none}
.ig-input{display:flex;align-items:center;gap:10px;margin:10px 12px 12px;padding:8px 14px;border:1px solid #dbdbdb;border-radius:24px;color:#8e8e8e;font-size:13.5px}
.ig-input .ig-field{flex:1}.ig-input svg{width:20px;height:20px;color:#262626;display:block}
.ig-cam{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ig-bubble);color:#fff}.ig-cam svg{width:15px;height:15px;color:#fff}
.ig-post{padding:0;gap:0;background:#fff;color:#262626}
.ig-post-top{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:13px}.ig-more{margin-left:auto;color:#8e8e8e;letter-spacing:2px}
.ig-post .lk-img{height:150px;border-radius:0;display:flex;align-items:flex-end;padding:12px;background:linear-gradient(135deg,#b978c6,#d8c78f)}
.lk-img span{background:rgb(255 255 255 / .85);border-radius:6px;padding:4px 9px;font-size:12px;font-weight:550}
.ig-actions{display:flex;align-items:center;gap:14px;padding:10px 12px 4px}.ig-actions svg{width:22px;height:22px}.ig-save{margin-left:auto;display:flex}
.ig-likes{padding:0 12px;font-size:13px;font-weight:600}
.ig-cap,.ig-viewall{padding:2px 12px 0;font-size:13px}.ig-viewall{color:#8e8e8e;padding-top:3px}
.ig-post .lk-comments{padding:6px 12px 12px;gap:3px}
.ig-post .lk-comments li{background:none;border-radius:0;padding:0;font-size:13px}
.ig-post .lk-comments li:nth-child(4){background:none;color:#c2410c}
.lk-browser{padding:0;gap:0;overflow:hidden;background:#fff}
.lk-chrome{display:flex;align-items:center;gap:10px;padding:9px 12px;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border))}
.lk-chrome .dots{display:flex;gap:5px}.lk-chrome .dots i{width:9px;height:9px;border-radius:50%;background:#d5dbd8}
.lk-addr{flex:1;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid hsl(var(--border));border-radius:999px;padding:4px 12px;font-size:12px;color:hsl(var(--muted-foreground))}.lk-addr svg{width:11px;height:11px}
.lk-page{padding:16px 16px 18px;display:flex;flex-direction:column;gap:14px;background:#fbfcfb}
.lk-grid>div{display:flex;flex-direction:column}.lk-grid .lk-btn{margin-top:7px;padding:6px;font-size:9px;letter-spacing:.1em}
.lk:not(.play) .lk-grid .lk-btn{opacity:0}
.lk-grid .lk-btn{transition:opacity .4s ease}.lk.play .lk-grid>div:nth-child(1) .lk-btn{transition-delay:2.6s}.lk.play .lk-grid>div:nth-child(2) .lk-btn{transition-delay:2.75s}.lk.play .lk-grid>div:nth-child(3) .lk-btn{transition-delay:2.9s}.lk.play .lk-grid>div:nth-child(4) .lk-btn{transition-delay:3.05s}
.sh-card:last-child{padding:0;gap:0;background:#fff}
.sh-ig{border-radius:var(--radius) var(--radius) 0 0}
.sh-card:last-child .sh-typing{margin:14px 14px 0;background:#efefef}
.sh-card:last-child .sh-msg{margin:14px 14px 6px;background:#efefef;color:#262626;border-radius:22px;padding:10px 14px}
.sh-card:last-child .sh-note{padding:0 16px 14px}

.chapter-next{margin-top:80px;padding-top:64px;border-top:1px solid hsl(var(--border))}
@media (max-width:720px){.chapter-next{margin-top:56px;padding-top:44px}}
.lk,.sh{align-items:stretch}
.lk-arrow,.sh .lk-arrow{align-self:center}
.sh-card:first-child{justify-content:center}

/* ── spacing pass: one 16px gutter across the DM thread ─────────── */
.ig-head{padding:12px 16px}
#how .ig-chat{padding:18px 16px;gap:6px}
#how .ig-chat .msg{max-width:78%;padding:9px 14px}
#how .ig-chat .msg.me+.msg.them,#how .ig-chat .msg.them+.msg.me{margin-top:4px}
.ig-input{margin:10px 16px 16px}
.sh-card:last-child .sh-typing{margin:16px 16px 0}
.sh-card:last-child .sh-msg{margin:16px 16px 8px;max-width:78%}
.sh-card:last-child .sh-note{padding:0 16px 16px}
.ig-post-top{padding:12px 16px}.ig-actions{padding:12px 16px 6px}.ig-likes{padding:0 16px}
.ig-cap,.ig-viewall{padding-left:16px;padding-right:16px}
.ig-post .lk-comments{padding:8px 16px 16px}
.lk-img span{margin:0}.ig-post .lk-img{padding:16px}
.lk-page{padding:20px}
.lk-chrome{padding:10px 16px}

/* ── type scale audit: nothing under 10px, one heading size ─────── */
.sale-ping,.source-stock,.shopify-label,.order-token b{font-size:10px!important}
.lk-grid .lk-btn{font-size:10px;letter-spacing:.08em}

/* ── app screenshot (carries its own window frame and shadow) ──── */
.shot{margin:24px 0 0}
.shot img{display:block;width:100%;height:auto}

/* ── showreel video (click to play, no autoplay cost) ────────────── */
.demo-video{margin:28px 0 0;position:relative;border:1px solid hsl(var(--border));
  border-radius:var(--radius);overflow:hidden;background:#0d1f18;aspect-ratio:16/10}
.demo-video video{display:block;width:100%;height:100%;object-fit:cover}
.demo-video-play{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;background:rgba(13,31,24,.18);border:0;cursor:pointer;padding:0}
.demo-video-play svg{width:30px;height:30px;color:#0d1f18;margin-left:3px}
.demo-video-play::before{content:"";width:76px;height:76px;border-radius:999px;background:#fff;
  position:absolute;display:flex;box-shadow:0 8px 24px rgba(13,31,24,.28)}
.demo-video-play svg{position:relative}
.demo-video-play:hover::before{background:#f2f5f0}
.demo-video.playing .demo-video-play{display:none}
@media (max-width:560px){
  .demo-video{aspect-ratio:16/11}
  .demo-video-play::before{width:60px;height:60px}
  .demo-video-play svg{width:24px;height:24px}
}

/* ── AI chat + customer photo ───────────────────────────────────── */
.photo{display:block;width:120px;height:150px;border-radius:9px;background:#e6dcc8}
.photo.thumb{width:26px;height:32px;border-radius:5px;flex:none}
.msg.has-photo{padding:5px 5px 8px}
.msg.has-photo .photo{margin-bottom:7px;box-shadow:0 1px 3px rgba(40,30,10,.18)}
.msg.has-photo .t,.msg.has-photo{padding-inline:5px}
.msg.has-photo .t{padding-inline:7px}
.ai-tag{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.22);font-size:9.5px;font-weight:650;letter-spacing:.06em;vertical-align:1px}
.typing.me{align-self:flex-end;background:hsl(var(--primary)/.18)}
.hero-photo-msg{display:flex!important;flex-direction:column;gap:5px;align-items:flex-start}
.hero-photo-msg .photo{width:54px;height:68px;border-radius:6px}
.hero-chat-card .hero-chat-yes .ai-tag{background:rgba(255,255,255,.25);font-size:8px;padding:0 5px;margin-right:4px}
.hero-ready-item .photo.thumb{width:24px;height:30px}
.frows{margin:0;padding:4px 14px 8px}
.frow{display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 0;font-size:13px;border-bottom:1px solid hsl(var(--border)/.6)}
.frow:last-child{border-bottom:0}
.frow dt{width:72px;flex:none;color:hsl(var(--muted-foreground));font-size:12.5px}
.frow dd{margin:0;flex:1;display:flex;align-items:center;gap:9px;font-weight:450}
.frow .src{flex:none;font-size:10.5px;font-weight:550;color:#28745b;background:#e8f2ec;border-radius:999px;padding:2px 9px;white-space:nowrap}
.frow.missing dd{color:hsl(var(--muted-foreground));font-weight:400}
.frow.missing dd::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px dashed #b8a98a;flex:none}
.frow.filled{animation:flash .9s ease-out}
.frow.filled dd{animation:pop .35s cubic-bezier(.16,1,.3,1) both}
#how .brand-note{margin-top:22px}
@media (max-width:480px){
  .frow{flex-wrap:wrap;row-gap:4px}
  .frow .src{margin-left:84px}
}

/* conversion pass 2026-10-07 */
#pain{order:1;background:#f7f9f6}
#how{order:2}#demo{order:3}#product{order:4}#try{order:5}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:18px 0 0;padding:0;font-size:13px;color:hsl(var(--muted-foreground))}
.hero .center .hero-trust{justify-content:center}
.hero-trust li{display:inline-flex;align-items:center;gap:6px}
.hero-trust li::before{content:"✓";color:hsl(var(--primary));font-weight:600}
.pain-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pain-list li{border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.pain-list b{font-size:16px;font-weight:600}
.pain-list span{color:hsl(var(--muted-foreground));font-size:14.5px;line-height:1.5}
.center-actions{justify-content:center;margin-top:24px}
@media (max-width:640px){.pain-list{grid-template-columns:1fr}}

/* Live demo: the real app in a framed window. Phones get a button instead, the app needs room. */
.try-frame{margin-top:28px;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card));box-shadow:var(--shadow)}
.try-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted))}
.try-bar .dots{display:flex;gap:6px}.try-bar .dots i{width:9px;height:9px;border-radius:50%;background:hsl(var(--border))}
.try-url{flex:1;font-size:12.5px;color:hsl(var(--muted-foreground))}
.try-open{font-size:12.5px;color:hsl(var(--primary));text-decoration:none;font-weight:500}
.try-stage{height:min(720px,78vh);display:grid;place-items:center;background:hsl(var(--primary-soft))}
.try-stage iframe{width:100%;height:100%;border:0;display:block;background:#fff}
.try-mobile{display:none;margin-top:24px}
@media (max-width:760px){.try-frame{display:none}.try-mobile{display:block}}
