/* Product page template B (2026-10-23). Loaded ONLY by partials/landing.php,
   after home.css, whose tokens (--bg, --text, --muted, --lime …), header,
   footer and base type it reuses. Same language as homepage B (home-b.css):
   solid navy ground, lime + lilac "sticker" shadows, hairline lists, mono
   section numbers, no glows or gradients. Classes are lp- (page) and tg-
   (the Telegram chat demo; the same component as home-b.css, duplicated here
   because the two pages never load each other's sheet). Design source:
   private/docs/landing-template-design-2026-10-23/. */

:root{
  --lp-band:#0b0e24;
  --lp-line:#232a52;
  --lp-line-soft:#1a2047;
  --lp-card:#0e1230;
  --lp-card-2:#141a3f;
  --lp-lilac:#a97fef;
  --lp-shadow:#2a1f5c;
  --lp-text-2:#c9cfe6;
  --lp-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* Template B drops the site-wide background glows: solid surfaces only. */
body.lp{background:var(--bg)}
.lp-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}

/* ---------- shared bits ---------- */
.lp-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--lp-mono);font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.lp-eyebrow::before{content:"";width:9px;height:9px;background:var(--lime);border-radius:2px;transform:rotate(45deg);flex:0 0 auto}
.lp-marker{display:flex;align-items:center;gap:14px;font-family:var(--lp-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lp-marker b{color:var(--lime);font-weight:700}
.lp-marker::after{content:"";flex:1 1 auto;height:1px;background:var(--lp-line)}
.lp-h2{margin:0;font-weight:800;font-size:clamp(26px,3vw,40px);line-height:1.12;letter-spacing:-.03em}
.lp-section{padding:clamp(56px,7vw,96px) 0 0}
.lp-band{background:var(--lp-band);border-top:1px solid var(--lp-line-soft);border-bottom:1px solid var(--lp-line-soft);padding:clamp(48px,6vw,80px) 0;margin-top:clamp(56px,7vw,96px)}
.lp-ico{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lp-block{display:flex;flex-direction:column;gap:18px;min-width:0}

/* buttons: lime sticker + ghost */
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:14px;font-weight:800;font-size:17px;text-decoration:none;border:0;cursor:pointer;text-align:center}
.lp-btn-primary{background:var(--lime);color:#0b1204;box-shadow:5px 5px 0 var(--lp-lilac)}
.lp-btn-primary:hover{background:#c6ff4d}
.lp-btn-primary:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--lp-lilac)}
.lp-btn-ghost{background:transparent;color:var(--text);border:1.5px solid #3a4372;min-height:52px;padding:0 22px;border-radius:12px;font-weight:600;font-size:16px}
.lp-btn-ghost:hover{border-color:#5a64a0}
.lp-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ---------- hero ---------- */
.lp-hero{padding:clamp(40px,6vw,84px) 0 0}
.lp-hero-grid{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(44px,5.5vw,80px)}
.lp-hero-copy{flex:1 1 500px;min-width:0;display:flex;flex-direction:column;gap:22px}
.lp-hero h1{margin:0;font-weight:900;font-size:clamp(34px,4.4vw,58px);line-height:1.06;letter-spacing:-.03em;overflow-wrap:anywhere}
.lp-lead{margin:0;max-width:34em;font-size:clamp(17px,1.4vw,19px);color:var(--lp-text-2);line-height:1.6}
.lp-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin:2px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid var(--lp-line-soft);font-size:14.5px;color:var(--lp-text-2)}
.lp-facts li{display:flex;gap:8px;align-items:center}
.lp-facts li::before{content:"✓";color:var(--lime);font-weight:800}
.lp-hero-visual{flex:1 1 420px;min-width:0;max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:18px}

/* hero side card when a page has no demo: its features as a glance list */
.lp-glance{flex:1 1 400px;min-width:0;max-width:500px;margin:0 auto;background:var(--lp-card);border:2px solid var(--lp-lilac);border-radius:22px;box-shadow:10px 10px 0 var(--lp-shadow);padding:26px 28px 10px}
.lp-glance-label{margin:0 0 6px;font-family:var(--lp-mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--lp-lilac)}
.lp-glance .lp-item{flex:none;padding:18px 0;border-top:1px solid var(--lp-line)}
.lp-glance .lp-glance-label + .lp-item{border-top:0}

/* feature items: hairline list with icons */
.lp-items{display:flex;flex-wrap:wrap;gap:26px 40px}
.lp-item{flex:1 1 280px;min-width:0;padding-top:18px;border-top:1px solid var(--lp-line)}
.lp-item h3{margin:0 0 6px;font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:-.01em;line-height:1.3}
.lp-item p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.6}

/* ---------- Telegram chat demo (same component as the homepage) ---------- */
.tg-chat{margin:0;background:#0e1621;border:2px solid var(--lp-lilac);border-radius:22px;overflow:hidden;box-shadow:10px 10px 0 var(--lp-shadow);display:flex;flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.35}
.tg-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#17212b}
.tg-back{color:#6ab3f3;font-size:22px;line-height:1;padding-inline-end:2px}
[dir="rtl"] .tg-back{transform:scaleX(-1)}
.tg-group-av{width:36px;height:36px;border-radius:50%;background:#6a45e2;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex:0 0 auto}
.tg-head-txt{display:flex;flex-direction:column;min-width:0}
.tg-head-txt b{font-size:15px;font-weight:600;color:#f5f5f5}
.tg-head-txt span{font-size:13px;color:#708499}
.tg-body{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:0 12px 12px;overflow:hidden;height:430px;
  background:linear-gradient(165deg,#0e1621 0%,#13263a 55%,#0f1b2a 100%)}
.tg-body::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/img/home/tg-pattern.webp) top left/460px auto repeat;opacity:.075;pointer-events:none}
.tg-row{display:flex;align-items:flex-end;gap:8px;margin-top:8px}
.tg-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex:0 0 auto;object-fit:cover;background:#17212b}
.tg-col{max-width:84%;min-width:0;display:flex;flex-direction:column;gap:4px}
.tg-bubble{background:#182533;border-radius:14px 14px 14px 4px;padding:6px 10px 6px 11px;color:#f5f5f5}
[dir="rtl"] .tg-bubble{border-radius:14px 14px 4px 14px}
.tg-name{display:block;font-size:13px;font-weight:600}
.tg-text{font-size:14.5px;line-height:1.4}
.tg-time{display:block;text-align:end;font-size:11px;color:#708499;margin-top:1px}
.tg-btn{display:block;text-align:center;padding:8px 10px;border-radius:10px;background:#22344a;font-size:14px;font-weight:600;color:#fff}
.tg-service-row{display:flex;justify-content:center}
.tg-service{margin-top:8px;display:inline-block;padding:4px 12px;border-radius:999px;background:#1e2c3a;font-size:13px;color:#e9eef2}
.tg-compose{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#17212b;border-top:1px solid #0b121a}
.tg-compose span{flex:1 1 auto;padding:8px 14px;border-radius:18px;background:#0e1621;color:#708499;font-size:14px}
/* demo states (landing.js). Without JS the markup shows the finished scene. */
.tg-anim{overflow:hidden;max-height:200px;transition:max-height .6s ease,opacity .5s ease,transform .5s ease,margin-top .5s ease,filter .6s ease}
.tg-anim.is-hidden{max-height:0;opacity:0;transform:translateY(12px);margin-top:0}
.tg-anim.is-gone{max-height:0;opacity:0;margin-top:0;transform:scale(.9);filter:blur(6px)}
.tg-service-row.is-hidden .tg-service,.tg-service-row.is-gone .tg-service{margin-top:0}

/* the three beats under the demo */
.lp-beats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none}
.lp-beats li{flex:1 1 130px;min-width:0;display:flex;gap:8px;align-items:baseline;padding:10px 12px;border-radius:12px;border:1px solid var(--lp-line);font-size:13.5px;line-height:1.35;color:var(--muted);transition:border-color .3s,color .3s,background .3s}
.lp-beats li b{font-family:var(--lp-mono);font-size:12px;color:#8a93b5}
.lp-beats li.is-on{border-color:var(--lime);color:var(--text);background:var(--lp-card)}
.lp-beats li.is-on b{color:var(--lime)}

/* ---------- turn it on: steps + real Mini App screens ---------- */
.lp-cols{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:center}
.lp-col-main{flex:1.3 1 480px;min-width:0;display:flex;flex-direction:column;gap:26px}
.lp-col-media{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;padding-bottom:20px}
.lp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lp-steps li{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--lp-line)}
.lp-steps li:last-child{border-bottom:1px solid var(--lp-line)}
.lp-step-num{font-family:var(--lp-mono);font-size:30px;font-weight:700;color:var(--lime);line-height:1;width:44px;flex:0 0 auto}
.lp-steps h3{margin:0 0 6px;font-size:19px;font-weight:700;letter-spacing:-.01em}
.lp-steps p{margin:0;color:var(--muted)}
.lp-steps li > div{flex:1 1 auto;min-width:0}
.lp-path{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.lp-chip{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:6px 14px;border-radius:999px;background:var(--lp-card-2);border:1px solid #2a3160;font-size:14px;color:var(--text)}
.lp-chip.is-toggle{padding-inline-end:8px}
.lp-path-sep{display:inline-block;color:#8a93b5}
[dir="rtl"] .lp-path-sep{transform:scaleX(-1)}
.lp-switch{width:32px;height:20px;border-radius:99px;background:#34c759;position:relative;flex:0 0 auto}
.lp-switch::after{content:"";position:absolute;inset-inline-end:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff}
.lp-phone{width:100%;max-width:300px;background:#000;border:2px solid var(--lp-lilac);border-radius:40px;padding:10px;box-shadow:10px 10px 0 var(--lp-shadow)}
.lp-phone img{display:block;width:100%;height:auto;border-radius:30px}
.lp-tilt{display:block;width:84%;max-width:330px;height:auto;align-self:flex-start;margin-top:-118px;position:relative;border:2px solid var(--lp-lilac);border-radius:18px;box-shadow:8px 8px 0 var(--lp-shadow);transform:rotate(-2.5deg)}
[dir="rtl"] .lp-tilt{transform:rotate(2.5deg)}

/* ---------- article sections ---------- */
.lp-article{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:flex-start}
.lp-toc{flex:0 1 280px;min-width:0;display:flex;flex-direction:column;gap:4px;padding:22px 24px;border:1px solid var(--lp-line);border-radius:18px;background:var(--lp-band)}
.lp-toc p{margin:0 0 8px;font-family:var(--lp-mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.lp-toc a{display:flex;gap:12px;min-height:40px;align-items:center;color:var(--lp-text-2);text-decoration:none;font-size:15px;line-height:1.35}
.lp-toc a b{font-family:var(--lp-mono);font-size:12.5px;color:var(--lime);font-weight:700;flex:0 0 22px}
.lp-toc a:hover{color:var(--text)}
@media (min-width:900px){.lp-toc{position:sticky;top:96px}}
.lp-flow{flex:1 1 560px;min-width:0;max-width:780px;display:flex;flex-direction:column;gap:clamp(48px,5vw,72px)}
.lp-pair{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:flex-start}
.lp-pair > .lp-block{flex:1 1 440px}
.lp-closer{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:flex-start}
.lp-flow + .lp-closer{margin-top:clamp(48px,5vw,72px)}
.lp-closer > .lp-block{flex:1.6 1 520px}
.lp-closer > .lp-side{flex:1 1 340px;max-width:460px;min-width:0;background:var(--lp-card);border:2px solid var(--lp-lilac);border-radius:22px;box-shadow:10px 10px 0 var(--lp-shadow);padding:28px}
.lp-side .lp-h2{font-size:clamp(24px,2.2vw,28px)}
.lp-copy{font-size:17px;line-height:1.72;color:var(--lp-text-2);overflow-wrap:anywhere}
.lp-copy p{margin:0 0 16px}
.lp-copy p:last-child{margin-bottom:0}
.lp-copy b,.lp-copy strong{color:var(--text)}
.lp-copy a{color:var(--text);text-decoration:underline;text-decoration-color:#5a64a0;text-underline-offset:4px}
.lp-copy a:hover{text-decoration-color:var(--lime)}
.lp-copy ul,.lp-copy ol{margin:0 0 16px;padding:0;display:flex;flex-direction:column}
.lp-copy ul{list-style:none}
.lp-copy ol{padding-inline-start:1.4em}
.lp-copy ul > li{position:relative;padding:14px 0;padding-inline-start:28px;border-top:1px solid var(--lp-line)}
.lp-copy ul > li:last-child{border-bottom:1px solid var(--lp-line)}
.lp-copy ul > li::before{content:"✓";position:absolute;inset-inline-start:0;top:14px;color:var(--lime);font-weight:800}
.lp-copy ol > li{padding:6px 0}
.lp-copy h3{margin:24px 0 10px;font-size:19px;color:var(--text)}
.lp-copy code{font-family:var(--lp-mono);font-size:.9em;background:var(--lp-card);padding:2px 6px;border-radius:6px;color:var(--text)}

/* Comparison tables. The limzo-vs pages still carry their own inline
   .cmp-table <style>; these selectors are one class more specific, so the
   template-B look wins without touching those 84 page files. */
.lp .cmp-wrap{overflow-x:auto;margin:4px 0 20px;border:1px solid var(--lp-line);border-radius:18px;background:var(--lp-band);-webkit-overflow-scrolling:touch}
.lp .cmp-table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:560px}
.lp .cmp-table th,.lp .cmp-table td{text-align:start;padding:16px 18px;border-top:1px solid var(--lp-line-soft);border-bottom:0;vertical-align:top;color:var(--muted);line-height:1.5}
.lp .cmp-table thead th{border-top:0;color:var(--muted);font-family:var(--lp-mono);font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.lp .cmp-table th:nth-child(2),.lp .cmp-table td:nth-child(2){background:var(--lp-card-2);color:var(--text);border-inline:1.5px solid var(--lp-lilac)}
.lp .cmp-table thead th:nth-child(2){color:var(--lime)}
.lp .cmp-table tbody tr:last-child td:nth-child(2){border-bottom:1.5px solid var(--lp-lilac)}
.lp .cmp-table td:first-child{color:var(--text);font-weight:700;white-space:nowrap}

/* ---------- FAQ ---------- */
.lp-faq-grid{display:flex;flex-wrap:wrap;gap:32px 72px;align-items:flex-start}
.lp-faq-head{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.lp-faq{flex:2 1 560px;min-width:0;display:flex;flex-direction:column}
.lp-faq details{border-top:1px solid var(--lp-line)}
.lp-faq details:last-child{border-bottom:1px solid var(--lp-line)}
.lp-faq summary{cursor:pointer;padding:18px 0;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";font-family:var(--lp-mono);color:var(--lime);font-weight:700;flex:0 0 auto}
.lp-faq details[open] summary::after{content:"–"}
.lp-faq-a{margin:0 0 20px;color:var(--muted);line-height:1.65}
.lp-faq-a a{color:var(--text)}

/* ---------- related ---------- */
.lp-related{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:20px 22px;border:1px solid var(--lp-line);border-radius:18px}
.lp-related > span{font-weight:700;font-size:15px;margin-inline-end:6px}
.lp-related a{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border-radius:999px;border:1px solid #3a4372;color:var(--text);text-decoration:none;font-size:14.5px}
.lp-related a:hover{border-color:var(--lime)}

/* ---------- final call-to-action ---------- */
.lp-final{background:#161b45;border:2px solid var(--lp-lilac);border-radius:28px;padding:clamp(28px,4.6vw,60px);box-shadow:10px 10px 0 var(--lp-shadow);display:flex;flex-wrap:wrap;align-items:center;gap:24px 48px;margin-bottom:clamp(64px,8vw,104px)}
.lp-final img{width:clamp(110px,12vw,160px);height:auto;flex:0 0 auto}
.lp-final-copy{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:14px}
.lp-final-copy p{margin:0;font-size:17px;color:var(--lp-text-2)}
.lp-final-cta{flex:0 1 300px;min-width:220px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* ---------- narrow ---------- */
@media (max-width:640px){
  .lp-wrap{width:calc(100% - 32px)}
  .lp-actions .lp-btn{width:100%}
  .lp-hero h1{font-size:34px}
  .lp-glance{padding:20px 20px 6px;box-shadow:6px 6px 0 var(--lp-shadow)}
  .tg-chat{box-shadow:6px 6px 0 var(--lp-shadow)}
  .tg-body{height:410px}
  .lp-steps li{gap:16px}
  .lp-step-num{font-size:24px;width:32px}
  .lp-phone{max-width:270px}
  .lp-tilt{width:92%;margin-top:-96px}
  .lp-toc{flex-basis:100%}
  .lp-copy{font-size:16.5px}
  .lp-closer > .lp-side{padding:22px;box-shadow:6px 6px 0 var(--lp-shadow)}
  .lp-final{box-shadow:6px 6px 0 var(--lp-shadow)}
  .lp-final-cta,.lp-final-cta .lp-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .tg-anim,.lp-beats li{transition:none}
}
