/* Home page only. Uses the colours from style.css. */
body.lp { background: var(--bg); overflow-x: hidden; }
.lp main { overflow-x: clip; }
.lp h1, .lp h2, .lp h3 { letter-spacing: -.02em; }

/* ---- channel icons: all the same shape and size ---- */
.ch { display: inline-grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.ch svg { width: 62%; height: 62%; }
.ch.sm { width: 24px; height: 24px; border-radius: 7px; }
.ch.lg { width: 52px; height: 52px; border-radius: 15px; box-shadow: 0 10px 24px -10px rgba(29,27,22,.45); }
.ch-wa { background: var(--wa); }
.ch-ig { background: var(--ig); }
.ch-fb { background: var(--fb); }
.ch-web { background: var(--ink); }

/* ---- nav ---- */
.lp-nav {
  position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .9rem clamp(16px, 4vw, 48px); transition: background .3s, box-shadow .3s, padding .3s;
}
.lp-nav.is-scrolled { background: var(--bg); box-shadow: 0 1px 0 var(--line), 0 10px 24px -20px rgba(29,27,22,.35); padding-top: .6rem; padding-bottom: .6rem; }
.lp-brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--ink); text-decoration: none; font-weight: 800; font-size: 2.1rem; line-height: 1; transition: font-size .35s, gap .35s; }
.lp-brand svg { width: 72px; height: 72px; transition: transform .5s cubic-bezier(.2,.8,.2,1), width .35s, height .35s; filter: drop-shadow(0 6px 12px rgba(245,179,1,.35)); }
.lp-brand:hover svg { transform: rotate(-12deg) scale(1.06); }
.lp-nav.is-scrolled .lp-brand { font-size: 1.55rem; gap: .7rem; }
.lp-nav.is-scrolled .lp-brand svg { width: 52px; height: 52px; }
.lp-brand small { display: block; font-size: .78rem; font-weight: 600; color: var(--muted); letter-spacing: .02em; margin-top: .3rem; }
.lp-links { display: flex; gap: 2rem; }
.lp-links a { position: relative; color: var(--ink-2); text-decoration: none; font-weight: 600; font-size: .92rem; }
.lp-links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--honey); border-radius: 2px; transform: scaleX(0); transition: transform .3s; }
.lp-links a:hover::after { transform: scaleX(1); }
.lp-nav-cta { display: flex; gap: .5rem; }
.lp-login { background: transparent; border-color: transparent; }

/* ---- hero ---- */
.lp-hero {
  position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center;
  max-width: 1240px; margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) clamp(16px, 4vw, 48px) clamp(3rem, 7vw, 6rem);
}
.lp-glow { position: absolute; border-radius: 50%; filter: blur(70px); z-index: -1; pointer-events: none; }
.lp-glow-1 { width: 520px; height: 520px; background: rgba(245,179,1,.28); top: -120px; right: -80px; animation: drift 14s ease-in-out infinite alternate; }
.lp-glow-2 { width: 380px; height: 380px; background: rgba(255,244,209,.9); bottom: -60px; left: -120px; animation: drift 18s ease-in-out infinite alternate-reverse; }
.lp-hex-field {
  position: absolute; inset: 0; z-index: -1; opacity: .5; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1l26 15v30L28 61 2 46V16zM28 61v36' fill='none' stroke='%23ebe5d8' stroke-width='1'/%3E%3C/svg%3E");
  -webkit-mask-image: radial-gradient(ellipse at 70% 40%, #000 0%, transparent 65%); mask-image: radial-gradient(ellipse at 70% 40%, #000 0%, transparent 65%);
}
@keyframes drift { to { transform: translate(-60px, 50px) scale(1.12); } }

@keyframes bob { 50% { transform: translateY(-8px) rotate(-4deg); } }

.lp-hero h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem); line-height: 1.04; font-weight: 800; margin: 0 0 1.3rem; }
.lp-rotate { display: inline-grid; vertical-align: bottom; overflow: hidden; padding-bottom: .06em; }
.lp-rotate span { grid-area: 1 / 1; color: var(--c); white-space: nowrap; transform: translateY(105%); opacity: 0; transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .6s; }
.lp-rotate span.is-on { transform: none; opacity: 1; }
.lp-rotate span.is-out { transform: translateY(-105%); opacity: 0; }
.lp-lead { font-size: clamp(1.02rem, 1.4vw, 1.18rem); color: var(--ink-2); max-width: 31rem; margin: 0 0 2rem; line-height: 1.6; }
.lp-cta-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.lp-cta-row .btn-lg, .lp-final .btn-lg { padding: 1.05rem 1.5rem; border-radius: 12px; }
.lp-ghost { background: rgba(255,255,255,.6); }
.lp-shine { position: relative; overflow: hidden; box-shadow: 0 12px 28px -12px rgba(224,158,0,.75); transition: transform .2s, box-shadow .2s, background .2s; }
.lp-shine:hover { transform: translateY(-2px); box-shadow: 0 18px 32px -12px rgba(224,158,0,.85); }
.lp-shine::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); animation: shine 4.5s ease-in-out infinite; }
@keyframes shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.lp-ticks { display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; list-style: none; padding: 0; margin: 1.6rem 0 0; color: var(--muted); font-size: .88rem; font-weight: 500; }
.lp-ticks li::before { content: '✓'; color: var(--honey-strong); font-weight: 800; margin-right: .4rem; }

/* dashboard preview */
.lp-stage { position: relative; perspective: 1400px; }
.lp-board {
  position: relative; background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 1.1rem;
  box-shadow: 0 40px 80px -40px rgba(29,27,22,.35), 0 0 0 8px rgba(255,255,255,.55);
  transform: rotateY(-8deg) rotateX(4deg); transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.lp-stage:hover .lp-board { transform: none; }
.lp-board-top { display: flex; align-items: center; gap: .75rem; font-weight: 700; font-size: .9rem; padding: .2rem .3rem .9rem; }
.lp-dots { display: flex; gap: 5px; } .lp-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }
.lp-live { margin-left: auto; display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; color: var(--wa); background: #e8f7ee; padding: .3rem .6rem; border-radius: 99px; }
.lp-live b { width: 7px; height: 7px; border-radius: 50%; background: var(--wa); animation: blink 1.4s infinite; }
@keyframes blink { 50% { opacity: .25; } }
.lp-board-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-bottom: .8rem; }
.lp-board-stats div { background: var(--bg); border-radius: 12px; padding: .7rem .8rem; }
.lp-board-stats div:first-child { background: var(--honey-soft); }
.lp-board-stats small { display: block; color: var(--muted); font-size: .72rem; font-weight: 600; }
.lp-board-stats b { font-size: 1.25rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.lp-board-stats b.bump { animation: bump .5s; }
@keyframes bump { 40% { transform: scale(1.12); color: var(--honey-strong); } }
.lp-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.lp-feed li { display: flex; align-items: center; gap: .75rem; padding: .65rem .7rem; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.lp-feed li.enter { animation: slideIn .7s cubic-bezier(.2,.8,.2,1); }
.lp-feed li.leave { animation: fadeOut .4s forwards; }
@keyframes slideIn { from { opacity: 0; transform: translateY(-14px) scale(.97); background: var(--honey-soft); } }
@keyframes fadeOut { to { opacity: 0; transform: translateY(10px); } }
.lp-feed .who { flex: 1; min-width: 0; font-weight: 700; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-feed .who small { display: block; font-weight: 500; color: var(--muted); font-size: .76rem; }
.lp-feed .amt { font-weight: 800; font-size: .9rem; font-variant-numeric: tabular-nums; }
.pill { font-size: .7rem; font-weight: 700; padding: .28rem .55rem; border-radius: 99px; }
.pill.paid { background: #e8f7ee; color: #157a3e; }
.pill.new { background: var(--honey-soft); color: #8a6100; }
.pill.ship { background: #e8f0fe; color: #1559c4; }
.lp-orbit .ch { position: absolute; z-index: 2; }
.float-1 { top: -22px; left: -18px; animation: float 6s ease-in-out infinite; }
.float-2 { top: 38%; right: -24px; animation: float 7s ease-in-out -2s infinite; }
.float-3 { bottom: -22px; left: 18%; animation: float 6.5s ease-in-out -4s infinite; }
@keyframes float { 50% { transform: translateY(-14px) rotate(6deg); } }

/* ---- marquee ---- */
.lp-marquee { overflow: hidden; border-block: 1px solid var(--line); background: var(--card); padding: 1.05rem 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.lp-marquee-track { display: flex; width: max-content; gap: 2.8rem; animation: marquee 32s linear infinite; }
.lp-marquee-track span { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; color: var(--ink-2); white-space: nowrap; }
.lp-marquee-track .t::before { content: ''; width: 8px; height: 8px; background: var(--honey); transform: rotate(45deg); border-radius: 2px; }
@keyframes marquee { to { transform: translateX(calc(-50% - 1.4rem)); } }

/* ---- sections ---- */
.lp-section { max-width: 1140px; margin: 0 auto; padding: clamp(4rem, 9vw, 7rem) clamp(16px, 4vw, 48px) 0; }
.lp-head { text-align: center; max-width: 48rem; margin: 0 auto clamp(2.2rem, 5vw, 3.5rem); }
.lp-kicker { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--honey-strong); background: var(--honey-soft); padding: .4rem .8rem; border-radius: 99px; margin-bottom: 1rem; }
.lp-head h2 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.1; font-weight: 800; margin: 0; }
.lp-head p { color: var(--muted); margin: .8rem 0 0; font-size: 1.05rem; }

/* how it works */
.lp-how { display: grid; grid-template-columns: 1fr 360px; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.lp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.lp-steps li { display: flex; gap: 1.3rem; align-items: flex-start; padding: 1.4rem 1.5rem; border-radius: 18px; background: var(--card); border: 1px solid var(--line); transition: transform .3s, box-shadow .3s, border-color .3s; }
.lp-steps li:hover { transform: translateX(6px); border-color: var(--honey); box-shadow: 0 16px 30px -22px rgba(29,27,22,.4); }
.lp-steps b { font-size: 1.6rem; font-weight: 800; color: var(--honey); line-height: 1; min-width: 2.2ch; }
.lp-steps h3 { margin: 0 0 .3rem; font-size: 1.12rem; }
.lp-steps p { margin: 0; color: var(--muted); }
.lp-phone { background: var(--ink); border-radius: 34px; padding: 10px; box-shadow: 0 40px 70px -35px rgba(29,27,22,.6); }
.lp-phone-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; color: #fff; font-weight: 700; padding: .8rem 1rem; font-size: .92rem; }
.lp-phone-top small { display: block; font-size: .7rem; color: #a9a397; font-weight: 500; }
.lp-chat { background: #efe9dc; border-radius: 26px; padding: 1rem .85rem 1.2rem; min-height: 330px; display: flex; flex-direction: column; gap: .55rem; }
.lp-chat .msg { max-width: 84%; padding: .6rem .85rem; border-radius: 16px; font-size: .88rem; line-height: 1.4; box-shadow: 0 1px 1px rgba(0,0,0,.06); }
.lp-chat .in { background: #fff; align-self: flex-start; border-bottom-left-radius: 5px; }
.lp-phone-who b { display: block; }
.lp-tabs { display: flex; gap: .35rem; background: rgba(255,255,255,.08); padding: .25rem; border-radius: 10px; }
.lp-tabs button { border: 0; padding: 0; background: none; cursor: pointer; border-radius: 8px; opacity: .4; transition: opacity .3s, transform .3s; }
.lp-tabs button.is-on { opacity: 1; transform: scale(1.12); }
.lp-tabs .ch.sm { width: 28px; height: 28px; }
.lp-chat .out { background: #d9fdd3; transition: background .4s; align-self: flex-end; border-bottom-right-radius: 5px; }
[data-channel="ig"] .lp-chat .out { background: #f6dcec; }
[data-channel="fb"] .lp-chat .out { background: #dbe8fd; }
.lp-chat .sys { align-self: center; background: var(--honey-soft); color: #8a6100; font-weight: 700; font-size: .76rem; border-radius: 99px; padding: .35rem .8rem; }
.lp-chat .sys.ok { background: #e8f7ee; color: #157a3e; }
.lp-chat.play .msg { opacity: 0; transform: translateY(10px) scale(.96); }
.lp-chat.play .msg.show { opacity: 1; transform: none; transition: opacity .45s, transform .45s cubic-bezier(.2,.8,.2,1); }

/* before & after slider */
.lp-ba { position: relative; height: 470px; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 40px 70px -45px rgba(29,27,22,.45); touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: ew-resize; }
.lp-ba-layer { position: absolute; inset: 0; padding: 64px clamp(14px, 4vw, 40px) 24px; }
.lp-ba-before { background: #ece7dc; }
.lp-ba-after { background: linear-gradient(135deg, #fff 40%, var(--honey-soft)); clip-path: inset(0 0 0 var(--pos)); }
.lp-ba-tag { position: absolute; top: 18px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .45rem .8rem; border-radius: 99px; }
.lp-ba-before .lp-ba-tag { left: 18px; background: #fff; color: var(--muted); }
.lp-ba-after .lp-ba-tag { right: 18px; background: var(--ink); color: var(--honey); }
.lp-mess, .lp-ba-inner { max-width: 600px; margin: 0 auto; }
.lp-mess { list-style: none; padding: 0; display: grid; gap: .4rem; }
.lp-mess li { display: flex; align-items: center; gap: .75rem; padding: .55rem .7rem; background: rgba(255,255,255,.75); border-radius: 12px; }
.lp-mess li:nth-child(odd) { transform: rotate(-.6deg); }
.lp-mess li:nth-child(even) { transform: rotate(.5deg) translateX(6px); }
.lp-av { position: relative; flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #d8d1c2; color: #fff; font-weight: 800; }
.lp-av .ch { position: absolute; right: -4px; bottom: -4px; width: 18px; height: 18px; border-radius: 6px; border: 2px solid #fff; }
.lp-mess .who { flex: 1; min-width: 0; font-weight: 700; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-mess .who small { display: block; font-weight: 500; color: var(--muted); font-size: .8rem; overflow: hidden; text-overflow: ellipsis; }
.lp-mess .time { display: grid; justify-items: end; gap: .2rem; font-size: .7rem; color: var(--wa); font-weight: 600; }
.lp-mess .time b { display: grid; place-items: center; min-width: 20px; height: 20px; border-radius: 99px; background: var(--wa); color: #fff; font-size: .7rem; }
.lp-note-paper { position: absolute; right: clamp(10px, 6vw, 70px); bottom: 26px; background: #fff7a8; color: #5b5320; font: 600 .85rem/1.35 "Segoe Print", "Comic Sans MS", cursive; padding: .8rem 1rem; transform: rotate(4deg); box-shadow: 0 10px 18px -10px rgba(0,0,0,.35); }
.lp-ba-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 0; z-index: 3; outline: none; }
.lp-ba-handle::before { content: ''; position: absolute; top: 0; bottom: 0; left: -1.5px; width: 3px; background: var(--honey); box-shadow: 0 0 0 1px rgba(255,255,255,.6); }
.lp-ba-handle span { position: absolute; top: 50%; left: 0; transform: translate(-50%, -50%); display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--honey); color: var(--ink); font-weight: 800; font-size: 1.1rem; letter-spacing: .1em; box-shadow: 0 10px 24px -8px rgba(224,158,0,.8), 0 0 0 5px rgba(255,255,255,.7); transition: transform .2s; }
.lp-callout { position: absolute; z-index: 2; font-size: .85rem; font-weight: 700; padding: .6rem .9rem; border-radius: 14px; white-space: nowrap; box-shadow: 0 14px 26px -16px rgba(29,27,22,.5); animation: float 6s ease-in-out var(--delay, 0s) infinite; }
.lp-callout.bad { background: #fff; color: #b3261e; border: 1px solid #f2c4bd; }
.lp-callout.good { background: var(--ink); color: #fff; }
.lp-drag-tip { position: absolute; left: 0; top: calc(50% - 62px); transform: translateX(-50%); font-style: normal; font-size: .72rem; font-weight: 800; white-space: nowrap; background: var(--ink); color: var(--honey); padding: .3rem .6rem; border-radius: 8px; transition: opacity .3s; animation: bob 2.4s ease-in-out infinite; }
.lp-drag-tip::after { content: ''; position: absolute; left: 50%; bottom: -4px; width: 8px; height: 8px; background: var(--ink); transform: translateX(-50%) rotate(45deg); }
.lp-ba.is-touched .lp-drag-tip { opacity: 0; }
.lp-score { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.2rem; }
.lp-score div { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 1.1rem 1.3rem; text-align: center; }
.lp-score small { display: block; color: var(--muted); font-weight: 600; font-size: .85rem; }
.lp-score b { display: block; font-size: 2.4rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; color: #b3261e; transition: color .3s; }
.lp-score b.good { color: var(--wa); }
.lp-ba:hover .lp-ba-handle span, .lp-ba-handle:focus-visible span { transform: translate(-50%, -50%) scale(1.1); }

/* features */
.lp-bento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lp-card { position: relative; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 1.8rem; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .35s; }
.lp-card:hover { transform: translateY(-6px); border-color: #e3d9c2; box-shadow: 0 26px 44px -30px rgba(29,27,22,.45); }
.lp-card.wide { grid-column: span 2; }
.lp-card h3 { font-size: 1.22rem; margin: 1.2rem 0 .4rem; }
.lp-card p { margin: 0; color: var(--muted); max-width: 30rem; }
.lp-ico { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; background: var(--honey); color: var(--ink); font-weight: 800; font-size: 1.4rem; transition: transform .4s; }
.lp-ico svg { width: 26px; height: 26px; fill: var(--honey); stroke: var(--ink); stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.lp-card:hover .lp-ico { transform: rotate(-8deg) scale(1.08); }
.lp-card-icons { display: flex; gap: .7rem; }
.lp-card-icons .ch { transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.lp-card:hover .lp-card-icons .ch:nth-child(odd) { transform: translateY(-6px); }
.lp-card:hover .lp-card-icons .ch:nth-child(even) { transform: translateY(4px); }
.lp-card.dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.lp-card.dark p { color: #bdb6a8; }
/* the language card: little chat bubbles */
.lp-langs { display: flex; flex-wrap: wrap; gap: .4rem; }
.lp-langs span { padding: .35rem .7rem; border-radius: 14px 14px 14px 4px; background: #e8f8ee; font-size: .85rem; font-weight: 600; }
.lp-langs span:nth-child(2) { background: var(--honey-soft, #fff5d6); }
.lp-langs span:nth-child(3) { background: #eef2ff; }
.lp-card:hover .lp-langs span { animation: lp-bob 1.6s ease-in-out infinite; }
.lp-card:hover .lp-langs span:nth-child(2) { animation-delay: .2s; }
.lp-card:hover .lp-langs span:nth-child(3) { animation-delay: .4s; }
@keyframes lp-bob { 50% { transform: translateY(-4px); } }
/* the website card: a row of colour swatches, one per look */
.lp-looks { display: flex; gap: .5rem; }
.lp-looks i { width: 40px; height: 40px; border-radius: 12px; background: var(--c); box-shadow: 0 8px 18px -10px var(--c); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.lp-card:hover .lp-looks i:nth-child(odd) { transform: translateY(-6px) rotate(-6deg); }
.lp-card:hover .lp-looks i:nth-child(even) { transform: translateY(4px) rotate(6deg); }
/* and everything else */
.lp-more-title { text-align: center; font-size: 1.3rem; margin: 3rem 0 1.2rem; }
.lp-more { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .8rem; }
.lp-more li { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.1rem; background: var(--card); border: 1px solid var(--line); border-radius: 16px; transition: transform .3s, border-color .3s; }
.lp-more li:hover { transform: translateY(-3px); border-color: #e3d9c2; }
.lp-more li > span { font-size: 1.5rem; line-height: 1; }
.lp-more b { display: block; margin-bottom: .15rem; }
.lp-more small { color: var(--muted); font-size: .88rem; line-height: 1.4; display: block; }
@media (prefers-reduced-motion: reduce) { .lp-card:hover .lp-langs span { animation: none; } }
.lp-card.dark::before { content: ''; position: absolute; width: 300px; height: 300px; right: -90px; top: -120px; background: radial-gradient(circle, rgba(245,179,1,.35), transparent 70%); }
.lp-mini-stats { position: relative; display: flex; gap: 1.4rem; }
.lp-mini-stats b { display: block; font-size: clamp(1.8rem, 3vw, 2.2rem); font-weight: 800; color: var(--honey); line-height: 1; font-variant-numeric: tabular-nums; }
.lp-mini-stats small { color: #bdb6a8; font-weight: 600; }

/* pricing */
.lp-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; max-width: 800px; margin: 0 auto; align-items: start; }
.lp-plan { position: relative; background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 2rem; transition: transform .35s, box-shadow .35s; }
.lp-plan:hover { transform: translateY(-4px); box-shadow: 0 26px 44px -30px rgba(29,27,22,.4); }
.lp-plan.pro { border: 2px solid var(--honey); box-shadow: 0 30px 60px -36px rgba(224,158,0,.7); }
.lp-plan h3 { margin: 0; font-size: 1.1rem; color: var(--muted); }
.lp-price { font-size: 2.8rem; font-weight: 800; margin: .3rem 0 1.2rem; letter-spacing: -.03em; }
.lp-price span { font-size: .95rem; color: var(--muted); font-weight: 600; letter-spacing: 0; }
.lp-plan ul { list-style: none; padding: 0; margin: 0 0 1.6rem; display: grid; gap: .65rem; }
.lp-plan li { display: flex; gap: .6rem; font-size: .93rem; }
.lp-plan li::before { content: ''; flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: var(--honey-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.3' fill='none' stroke='%23e09e00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.lp-badge { position: absolute; top: -13px; right: 1.5rem; background: var(--ink); color: var(--honey); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: .4rem .8rem; border-radius: 99px; }
.lp-note { text-align: center; color: var(--muted); font-size: .85rem; margin: .8rem 0 0; }
.lp-early { text-align: center; margin: 1.6rem 0 0; font-weight: 600; color: var(--ink-2); }
.lp-early::before { content: '✦ '; color: var(--honey-strong); }

/* faq */
.lp-faq { max-width: 760px; margin: 0 auto; display: grid; gap: .7rem; }
.lp-faq details { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 0 1.4rem; transition: border-color .3s; }
.lp-faq details[open] { border-color: var(--honey); }
.lp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.2rem 0; font-weight: 700; font-size: 1.02rem; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: '+'; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--honey-soft); color: var(--honey-strong); font-size: 1.2rem; transition: transform .3s, background .3s; }
.lp-faq details[open] summary::after { transform: rotate(45deg); background: var(--honey); color: var(--ink); }
.lp-faq details p { margin: 0; padding: 0 0 1.2rem; color: var(--muted); }

/* final call */
.lp-final {
  position: relative; overflow: hidden; text-align: center; color: #fff; background: var(--ink);
  max-width: 1140px; margin: clamp(4rem, 9vw, 7rem) auto 0; border-radius: 32px; padding: clamp(3rem, 7vw, 5rem) 1.5rem;
  width: calc(100% - 2 * clamp(16px, 4vw, 48px));
}
.lp-final::before { content: ''; position: absolute; inset: -40%; background: conic-gradient(from 0deg, transparent, rgba(245,179,1,.28), transparent 30%); animation: spin 14s linear infinite; }
@keyframes spin { to { transform: rotate(1turn); } }
.lp-final > * { position: relative; }
.lp-final-mark svg { width: 96px; height: 96px; animation: bob 5s ease-in-out infinite; filter: drop-shadow(0 16px 26px rgba(245,179,1,.45)); }
.lp-final h2 { font-size: clamp(2rem, 5vw, 3.4rem); margin: 1rem 0 .5rem; font-weight: 800; }
.lp-final p { color: #bdb6a8; margin: 0 0 2rem; font-size: 1.08rem; }
.lp-final-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.lp-final-login { background: transparent; color: #fff; border-color: rgba(255,255,255,.3); }
.lp-final-login:hover { border-color: #fff; }

/* footer */
.lp-foot { max-width: 1140px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 3rem clamp(16px, 4vw, 48px); color: var(--muted); font-size: .88rem; }
.lp-foot .lp-brand { font-size: 1.15rem; }
.lp-foot .lp-brand svg { width: 36px; height: 36px; }
.lp-foot nav { display: flex; gap: 1.4rem; }
.lp-foot nav a { color: var(--ink-2); text-decoration: none; font-weight: 600; }
.lp-foot nav a:hover { color: var(--honey-strong); }

.lp-wa-float { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: inline-flex; align-items: center; gap: .55rem; background: var(--card); color: var(--ink); text-decoration: none; font-weight: 700; font-size: .9rem; padding: .45rem 1rem .45rem .45rem; border-radius: 99px; border: 1px solid var(--line); box-shadow: 0 14px 30px -14px rgba(29,27,22,.45); transition: transform .2s; }
.lp-wa-float:hover { transform: translateY(-3px); }
.lp-wa-float .ch { border-radius: 50%; }

/* ---- reveal on scroll (only once the script is running) ---- */
.lp-js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); transition-delay: var(--d, 0s); }
.lp-js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---- smaller screens ---- */
@media (max-width: 980px) {
  .lp-links { display: none; }
  .lp-callout { display: none; }
  .lp-hero { grid-template-columns: 1fr; }
  .lp-stage { max-width: 520px; width: 100%; margin: 1rem auto 0; }
  .lp-board { transform: none; }
  .lp-how { grid-template-columns: 1fr; }
  .lp-phone { max-width: 360px; width: 100%; margin: 0 auto; }
  .lp-bento { grid-template-columns: 1fr 1fr; }
  .lp-card.dark { grid-column: span 2; }
}
@media (max-width: 640px) {
  .lp-brand { font-size: 1.5rem; gap: .5rem; }
  .lp-brand svg { width: 52px; height: 52px; }
  .lp-nav.is-scrolled .lp-brand { font-size: 1.25rem; }
  .lp-nav.is-scrolled .lp-brand svg { width: 40px; height: 40px; }
  .lp-brand small { display: none; }
  .lp-nav-cta { gap: .35rem; }
  .lp-nav-cta .btn { padding: .6rem .8rem; font-size: .85rem; }
  .lp-login { border-color: var(--line); background: var(--card); }
  .lp-cta-row .btn { width: 100%; }
  .lp-board { padding: .8rem; border-radius: 18px; }
  .lp-board-stats b { font-size: 1.05rem; }
  .lp-feed .pill { display: none; }
  .ch.lg { width: 44px; height: 44px; border-radius: 13px; }
  .float-1 { left: -6px; } .float-2 { right: -6px; }
  .lp-bento, .lp-plans { grid-template-columns: 1fr; }
  .lp-card.wide, .lp-card.dark { grid-column: auto; }
  .lp-more { grid-template-columns: 1fr; }
  .lp-card, .lp-plan { padding: 1.5rem; }
  .lp-steps li { padding: 1.2rem; gap: 1rem; }
  .lp-foot { flex-direction: column; text-align: center; }
  .lp-ba { height: 500px; }
  .lp-score { gap: .5rem; }
  .lp-score div { padding: .8rem .5rem; border-radius: 14px; }
  .lp-score small { font-size: .7rem; line-height: 1.3; }
  .lp-score b { font-size: 1.8rem; }
  .lp-ba-layer { padding-top: 60px; }
  .lp-mess .time { display: none; }
  .lp-note-paper { bottom: 14px; font-size: .78rem; }
  .lp-final-cta .btn { width: 100%; }
  .lp-wa-float span:last-child { display: none; }
  .lp-wa-float { padding: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lp *, .lp *::before, .lp *::after { animation: none !important; transition: none !important; }
  .lp-js [data-reveal] { opacity: 1; transform: none; }
}
