/* ==========================================================================
   ایجنت‌اینا — لندینگ · «سینمای اسکن»
   تنها فایل per-page لندینگ. وابسته به tokens.css + components.css.
   هیچ توکنی اینجا تعریف نمی‌شود و هیچ کامپوننت پایه‌ای بازنویسی نمی‌شود.
   ========================================================================== */

/* ── سکشن‌های عمومی ─────────────────────────────────────────────────────── */
.sec{padding-block:var(--s10) var(--s3)}
.sec-head{max-width:44em}
.sec-head h2,.final h2{text-wrap:balance}
.act{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;
  font-size:11px;letter-spacing:4px;color:var(--faint);text-transform:uppercase;
  margin-block-end:var(--s4);display:flex;align-items:center;gap:14px;white-space:nowrap}
@media(max-width:560px){.act{font-size:10px;letter-spacing:2px;gap:10px}}
.act i{font-style:normal;color:var(--signal)}
.act::after{content:'';flex:0 0 0%;height:1px;background:var(--line);
  transition:flex-basis 1s var(--ease) .2s}
.rv.in .act::after,.act.drawn::after{flex-basis:120px}
.sec-sub{color:var(--muted);font-size:15.5px;font-weight:300;max-width:42em;line-height:2;
  margin-block-start:var(--s4)}
.sec-sub b{color:var(--text);font-weight:600}
/* font-family/letter-spacing صریح‌اند چون این چیپ گاهی داخل کانتینرِ مونو
   می‌نشیند (مثلاً سربرگِ عرشه) و «نمونه» نباید مونو ارث ببرد — §۳ */
.sample{font-family:var(--font);letter-spacing:normal;font-size:10.5px;font-weight:700;
  color:var(--faint);border:1px solid var(--line);border-radius:999px;padding:2px 8px;
  vertical-align:middle;white-space:nowrap}
.note{font-size:12px;color:var(--faint);line-height:1.9;margin-block-start:var(--s4)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;
  margin-block-start:var(--s7)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block-start:var(--s7)}
@media(max-width:900px){.grid3,.grid2{grid-template-columns:1fr}}

/* ── HERO ───────────────────────────────────────────────────────────────── */
/* پایینِ hero عمداً بازتر است تا محتوا زیرِ نشانگرِ SCROLL نرود */
.hero{min-height:92vh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;position:relative;padding-block:100px var(--s9);
  overflow:hidden}/* حجابِ hero-in از لبه بیرون می‌زند — نباید اسکرول افقی بسازد */
#net{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.hero-in{position:relative;z-index:2;max-width:860px;margin-inline:auto;width:100%}
/* حجاب زیر متن — گره‌های متحرکِ شبکه پشتِ تیتر و فرم نرم و کم‌رمق می‌شوند؛
   ماسکِ شعاعی لبهٔ سخت را حذف می‌کند تا حجاب دیده نشود، فقط اثرش بماند */
.hero-in::before{content:'';position:absolute;inset:-48px -80px;z-index:-1;
  background:rgba(var(--bg-rgb),.45);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  -webkit-mask:radial-gradient(closest-side,#000 55%,transparent 98%);
  mask:radial-gradient(closest-side,#000 55%,transparent 98%);
  pointer-events:none}
.eyebrow{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;
  font-size:11px;letter-spacing:5px;color:var(--signal);margin-block-end:var(--s6);
  display:inline-flex;align-items:center;gap:12px}
.eyebrow::before,.eyebrow::after{content:'';width:28px;height:1px;background:rgba(var(--signal-rgb),.4)}
@media(max-width:560px){.eyebrow{letter-spacing:2.5px;font-size:10px}}
.hero h1{margin-block-end:var(--s5);text-wrap:balance}
/* تنها گرادیان‌تکستِ مجاز در کل سایت — یک عبارت در hero */
/* تنها گرادیان‌تکستِ مجاز — و عمداً داخلِ یک خانوادهٔ رنگی می‌ماند:
   شنگرف و فیروزه ۱۵۰ درجه فاصله دارند، پس هر درون‌یابیِ رنگی (چه sRGB چه
   OKLCH) از وسطِ سبزِ گل‌آلود رد می‌شود. ضمناً رنگِ اکشن نباید خرجِ تزئین
   شود؛ «هوش مصنوعی» چیزی است که سیستم می‌بیند، پس سیگنال مالکش است. */
.hero h1 .g{color:var(--signal)}
@supports (color:color-mix(in oklch,red,blue)){
  .hero h1 .g{
    background:linear-gradient(115deg in oklch,
      var(--signal), color-mix(in oklch,var(--signal) 30%,var(--g-mix)));
    -webkit-background-clip:text;background-clip:text;color:transparent}
}
.hero-sub{font-size:17px;color:var(--muted);line-height:2;font-weight:300;
  max-width:38em;margin-inline:auto;margin-block-end:var(--s7);text-wrap:balance}
.hero-sub b{color:var(--text);font-weight:600}

/* نوار اسکن — کامپوننت مشترک با صفحهٔ فرم اسکن و CTA پایانی */
.scanbar{position:relative;max-width:620px;margin-inline:auto;text-align:start;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:10px;box-shadow:var(--el-3);transition:border-color .3s}
.scanbar:focus-within{border-color:rgba(var(--signal-rgb),.5)}
.scanbar::before{content:'SITE / X-RAY';position:absolute;inset-block-start:-9px;inset-inline-end:20px;
  font-family:var(--mono);direction:ltr;font-size:10px;letter-spacing:2.5px;color:var(--faint);
  background:var(--bg);padding-inline:8px}
.scan-row{display:flex;gap:10px;align-items:stretch}
.scan-row .input{flex:1;background:var(--bg2);border-color:var(--line-soft);
  font-family:var(--mono);font-size:14.5px;letter-spacing:.5px}
.scan-row .btn{flex:none}
.scan-step{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.scan-step.open{grid-template-rows:1fr}
.scan-step>div{overflow:hidden;min-height:0}
.scan-step .field{margin-block:10px 0}
.scanbar .field-msg{padding-inline:4px;margin-block-start:10px}
.scanbar .field-msg a,.scanbar .field-msg .linkish{color:var(--signal);font:inherit;font-weight:700;
  text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.scan-ok{display:none;text-align:center;padding:var(--s5) var(--s4)}
.scan-ok.show{display:block}
.scan-ok svg{width:34px;height:34px;margin-inline:auto;margin-block-end:var(--s3);
  stroke:var(--signal);fill:none;stroke-width:2}
.scan-ok h3{margin-block-end:var(--s2)}
.scan-ok p{font-size:13.5px;color:var(--muted)}
@media(max-width:560px){
  .scan-row{flex-direction:column}
  .scan-row .btn{width:100%}
}

.trust{display:flex;gap:var(--s5);margin-block-start:var(--s5);font-size:12.5px;
  color:var(--faint);justify-content:center;flex-wrap:wrap}
.trust span{display:flex;align-items:center;gap:7px}
.trust svg{width:13px;height:13px;stroke:var(--signal);fill:none;stroke-width:2.4;flex:none}
.trust a{color:var(--signal);font-weight:600;display:flex;align-items:center}
.hero-alt{font-size:12px;color:var(--faint);margin-block-start:var(--s4);
  max-width:44em;margin-inline:auto;text-wrap:balance}
.scroll-hint{position:absolute;inset-block-end:22px;inset-inline-start:50%;transform:translateX(50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;
  font-family:var(--mono);direction:ltr;font-size:9.5px;letter-spacing:3px;color:var(--faint)}
.scroll-hint i{width:1px;height:34px;display:block;overflow:hidden;position:relative;
  background:linear-gradient(180deg,var(--faint),transparent)}
.scroll-hint i::after{content:'';position:absolute;inset-block-start:-12px;inset-inline-start:0;
  width:1px;height:12px;background:var(--signal);animation:drip 1.8s var(--ease) infinite}
@keyframes drip{to{transform:translateY(48px)}}
@media(max-width:900px){.scroll-hint{display:none}}

/* ── عرشهٔ کنسول ────────────────────────────────────────────────────────── */
.deck{position:relative;z-index:2;margin-inline:auto;margin-block-start:var(--s8);max-width:980px;
  background:linear-gradient(180deg,var(--surface),var(--bg2));
  border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s5);
  box-shadow:var(--el-3);display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s5)}
.deck::before,.deck::after{content:'';position:absolute;width:16px;height:16px;
  border:1.5px solid rgba(var(--signal-rgb),.5)}
.deck::before{inset-block-start:-1px;inset-inline-end:-1px;border-width:1.5px 1.5px 0 0;border-start-end-radius:8px}
.deck::after{inset-block-end:-1px;inset-inline-start:-1px;border-width:0 0 1.5px 1.5px;border-end-start-radius:8px}
.con-head{display:flex;justify-content:space-between;align-items:center;
  gap:var(--s3);margin-block-end:var(--s4);flex-wrap:wrap}
.con-head .t{font-family:var(--mono);direction:ltr;font-size:10.5px;letter-spacing:2px;
  color:var(--faint);display:flex;align-items:center;gap:8px}
.con-head .t em{width:6px;height:6px;border-radius:50%;background:var(--signal);
  animation:blink 1.6s steps(1) infinite}
.con-head .d{font-family:var(--mono);direction:ltr;font-size:12px;color:var(--signal)}
@keyframes blink{50%{opacity:0}}

.wire{position:relative;border:1px solid var(--line-soft);border-radius:var(--r-m);
  background:rgba(var(--bg-rgb),.55);padding:var(--s4);overflow:hidden;min-height:190px}
.w-row{display:flex;gap:9px;margin-block-end:9px}
.w-block{border:1px solid rgba(var(--signal-rgb),.3);border-radius:6px;background:rgba(var(--signal-rgb),.045)}
.w-hero{height:46px;flex:1}.w-sm{height:30px;flex:1}.w-md{height:30px;flex:2}
.w-txt{height:8px;border-radius:4px;background:rgba(var(--signal-rgb),.14);margin-block-end:6px}
/* بیم اسکن — تنها لوپ بی‌پایانِ مجاز کنار LED */
.beam{position:absolute;inset-inline:0;inset-block-start:0;height:38px;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(var(--signal-rgb),.13) 45%,
    rgba(var(--signal-rgb),.42) 50%,rgba(var(--signal-rgb),.13) 55%,transparent);
  animation:sweep 6s var(--ease) infinite}
.beam::after{content:'';position:absolute;inset-block-start:50%;inset-inline:0;height:1.5px;background:var(--signal)}
@keyframes sweep{0%{transform:translateY(-40px)}55%,100%{transform:translateY(230px)}}

.readcol{display:flex;flex-direction:column;gap:11px}
.ro{background:var(--bg2);border:1px solid var(--line-soft);border-radius:var(--r-m);
  padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  transition:border-color .3s,transform .3s var(--ease)}
.ro:hover{border-color:var(--line-bright);transform:translateY(-1px)}
.ro .n{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.ro .l{font-size:12px;color:var(--faint);text-align:start}
.ro svg{width:44px;height:16px;flex:none;opacity:.85;color:var(--signal)}
.ro.bad svg{color:var(--danger)}
.ro.opp svg{color:var(--action-text)}
.ro.bad .n{color:var(--danger)}
.ro.opp{border-color:rgba(var(--action-rgb),.4);background:rgba(var(--action-rgb),.06)}
.ro.opp .n{color:var(--action-text)}
.verdict{border:1px solid rgba(var(--signal-rgb),.3);background:var(--signal-faint);
  border-radius:var(--r-s);padding:12px 15px;font-size:13px;display:flex;gap:9px;align-items:center}
.verdict b{color:var(--signal)}
.verdict .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);flex:none}
@media(max-width:900px){.deck{grid-template-columns:1fr}}

/* ── نوار متریک ─────────────────────────────────────────────────────────── */
.metrics{border-block:1px solid var(--line-soft);background:rgba(var(--surface-rgb),.4);
  margin-block-start:var(--s9);position:relative;z-index:2}
.metrics-in{display:grid;grid-template-columns:repeat(4,1fr)}
.m{padding:36px 20px;border-inline-start:1px solid var(--line-soft);text-align:center}
.m:first-child{border-inline-start:none}
.m .n{font-size:31px;font-weight:800;font-variant-numeric:tabular-nums;
  display:flex;align-items:baseline;justify-content:center;gap:8px;direction:rtl}
.m .n em{font-style:normal;color:var(--signal)}
.m .l{font-size:12.5px;color:var(--faint);margin-block-start:8px;line-height:1.7}
.m .bar{height:2px;background:var(--line-soft);border-radius:1px;margin-block-start:14px;overflow:hidden}
.m .bar i{display:block;height:100%;width:var(--w,70%);
  background:linear-gradient(90deg,var(--action),var(--signal));
  transform:scaleX(0);transform-origin:right;transition:transform 1.2s var(--ease) .3s}
.m.in .bar i{transform:scaleX(1)}
.metrics-note{text-align:center;padding-block:0 var(--s5);margin-block-start:calc(-1 * var(--s3))}
@media(max-width:900px){.metrics-in{grid-template-columns:1fr 1fr}}

/* ── ACT 01 · تشخیص ────────────────────────────────────────────────────── */
.diag .code{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;
  font-size:10.5px;color:var(--danger);letter-spacing:1.5px;margin-block-end:var(--s4)}
.diag h3{margin-block-end:10px}
.diag p{font-size:13.5px;color:var(--muted);line-height:1.9;font-weight:300}

/* ── درِ دوتاییِ هیرو (سایت / فقط اینستاگرام) — همان گرامرِ .tab،
   ولی با معناشناسیِ radiogroup (aria-checked) ── */
.door-switch{display:flex;gap:var(--s5);justify-content:center;
  margin-block:var(--s2) var(--s3)}
.door-switch .tab[aria-checked=true]{color:var(--text)}
.door-switch .tab[aria-checked=true]::after{transform:scaleX(1)}

.tcard p{flex:1}
.tcard .t-meta{display:flex;justify-content:space-between;align-items:center;
  gap:var(--s3);flex-wrap:wrap;padding-block:var(--s3);
  border-block-start:1px solid var(--line-soft);
  font-size:12.5px;color:var(--muted)}
.tcard .t-amt{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.tcard .btn{margin-block-start:var(--s3)}

/* ── شخصی‌سازی (بد/خوب) ────────────────────────────────────────────────── */
.gp{border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;
  margin-block-end:12px;background:var(--surface)}
.gp .k{font-size:11.5px;font-weight:700;display:block;margin-block-end:8px}
.gp p{font-size:15.5px;font-weight:700;line-height:1.6}
.gp-bad{opacity:.72}.gp-bad .k{color:var(--faint)}.gp-bad p{color:var(--muted);font-weight:500}
.gp-good{border-color:rgba(var(--signal-rgb),.4);background:var(--signal-faint)}
.gp-good .k{color:var(--signal)}

/* ── ACT 02 · شبیه‌ساز ROI ─────────────────────────────────────────────── */
.roi{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px;margin-block-start:var(--s7)}
.roi-in,.roi-out{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-l);padding:var(--s6);box-shadow:var(--el-1)}
.roi h3{font-size:16px;font-weight:800;margin-block-end:var(--s6);
  display:flex;align-items:center;gap:9px}
.roi h3 svg{width:17px;height:17px;stroke:var(--signal);fill:none;stroke-width:2;flex:none}
.roi-out{border-color:rgba(var(--action-rgb),.4);position:relative;overflow:hidden}
.roi-out::before{content:'';position:absolute;inset-block-start:-80px;inset-inline-start:50%;
  transform:translateX(50%);width:420px;height:160px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(var(--action-rgb),.14),transparent)}
.out-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;position:relative}
.out{background:var(--bg2);border:1px solid var(--line-soft);border-radius:var(--r-m);padding:18px}
.out .n{font-size:27px;font-weight:800;color:var(--signal);font-variant-numeric:tabular-nums;
  line-height:1.25}
.out .n small{font-size:13px;color:var(--muted);font-weight:400}
.out .l{font-size:12px;color:var(--faint);margin-block-start:7px;line-height:1.7}
.out-hero{grid-column:1/-1;border-color:rgba(var(--action-rgb),.4);background:rgba(var(--action-rgb),.06)}
.out-hero .n{color:var(--action-text);font-size:30px}
.out.pop .n{animation:pop .35s var(--ease)}
@keyframes pop{40%{transform:scale(1.06)}}
.roi .btn{margin-block-start:var(--s5)}
@media(max-width:900px){.roi{grid-template-columns:1fr}}
@media(max-width:420px){.out-grid{grid-template-columns:1fr}}

/* ── ACT 03 · پروتکل ───────────────────────────────────────────────────── */
.flow{display:grid;grid-template-columns:repeat(4,1fr);margin-block-start:var(--s7);position:relative}
.flow .rail{position:absolute;inset-block-start:33px;inset-inline:12%;height:1px;
  background:var(--line-soft);overflow:hidden}
.flow .rail i{display:block;height:100%;width:100%;
  background:linear-gradient(90deg,var(--action),var(--signal));
  transform:scaleX(0);transform-origin:right;transition:transform 1.6s var(--ease) .3s}
.rv.in .flow .rail i,.flow.drawn .rail i{transform:scaleX(1)}
.fnode{text-align:center;position:relative;padding-inline:16px}
.fnode .dot{width:66px;height:66px;margin-inline:auto;margin-block-end:var(--s4);
  border-radius:50%;position:relative;z-index:2;border:1px solid var(--line);
  background:var(--surface);box-shadow:var(--el-1);display:grid;place-items:center;
  opacity:.4;transform:scale(.9);transition:opacity .5s var(--ease),transform .5s var(--ease),border-color .5s}
.rv.in .fnode .dot,.flow.drawn .fnode .dot{opacity:1;transform:scale(1);border-color:rgba(var(--signal-rgb),.45)}
.fnode:nth-child(3) .dot{transition-delay:.25s}
.fnode:nth-child(4) .dot{transition-delay:.55s}
.fnode:nth-child(5) .dot{transition-delay:.85s}
.fnode .dot svg{width:24px;height:24px;stroke:var(--signal);fill:none;stroke-width:1.6}
.fnode .k{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;font-size:9.5px;
  letter-spacing:2px;color:var(--faint);display:block;margin-block-end:9px}
.fnode h3{font-size:16px;font-weight:700;margin-block-end:7px}
.fnode p{font-size:12.5px;color:var(--muted);line-height:1.8;font-weight:300}
@media(max-width:900px){
  .flow{grid-template-columns:1fr 1fr;gap:var(--s6) 0}
  .flow .rail{display:none}
}
@media(max-width:460px){.flow{grid-template-columns:1fr}}

.term{margin-block-start:var(--s7);border:1px solid var(--line);border-radius:var(--r-l);
  background:var(--bg2);box-shadow:var(--el-2);overflow:hidden}
.term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;direction:ltr;
  border-block-end:1px solid var(--line-soft)}
.term-bar i{width:10px;height:10px;border-radius:50%;background:var(--line-bright)}
.term-bar span{font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:2px;margin-left:10px}
.term-body{padding:20px 22px;font-family:var(--mono);direction:ltr;text-align:left;
  font-size:12.5px;line-height:2.2;color:var(--muted);min-height:132px;overflow-x:auto}
.term-body .ok{color:var(--signal)}
.term-body .dim{color:var(--faint)}
.term-body .hi{color:var(--action-text)}
.term-body .cur{display:inline-block;width:7px;height:14px;background:var(--signal);
  vertical-align:-2px;animation:blink 1s steps(1) infinite}

/* ── تحویلی: آرتیفکت کاغذی ─────────────────────────────────────────────── */
.deliver{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);
  align-items:start;margin-block-start:var(--s7)}
@media(max-width:900px){.deliver{grid-template-columns:1fr}}
.ledger{padding:0;overflow:hidden}
.ledger-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  padding:12px 18px;border-block-end:1px solid var(--paper-rule);background:rgba(26,23,16,.04)}
.ledger-top .mono{font-size:9.5px;color:var(--paper-dim)}
.ledger-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);
  padding:13px 18px;border-block-end:1px solid rgba(26,23,16,.09);font-size:13.5px}
.ledger-row:last-child{border-block-end:none}
.ledger-row .t{font-weight:600}
.ledger-chip{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;
  border:1px solid rgba(26,23,16,.22);color:var(--paper-ink-2);white-space:nowrap}
.ledger-chip.hi{border-color:var(--paper-accent);color:var(--paper-accent)}
.deliver ul{list-style:none;display:grid;gap:var(--s4)}
/* نشانگر مطلق است نه flex-item — وگرنه <b> خودش یک آیتم می‌شود و جمله می‌شکند */
.deliver li{font-size:14.5px;color:var(--muted);line-height:1.85;font-weight:300;
  position:relative;padding-inline-end:18px}
.deliver li b{color:var(--text);font-weight:700}
.deliver li::before{content:'';position:absolute;inset-inline-end:0;inset-block-start:11px;
  width:7px;height:7px;border-radius:2px;background:var(--signal);opacity:.75}
.deliver li .tier-note{font-size:.86em;color:var(--faint)}

/* کارت «امروز بنویس» */
.task{max-width:620px;margin-inline:auto;margin-block-start:var(--s7);padding:0;overflow:hidden}
.task-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  flex-wrap:wrap;background:rgba(26,23,16,.9);color:var(--paper);
  padding:12px 20px;font-size:12.5px;font-weight:700}
.task-top .when{color:var(--signal)}
.task-body{padding:var(--s5) var(--s6) var(--s6)}
.task-title{font-size:19px;font-weight:800;line-height:1.55}
.task-grid{display:grid;grid-template-columns:auto 1fr;gap:8px var(--s5);
  margin-block-start:var(--s4);font-size:13.5px}
.task-grid dt{color:var(--paper-dim);font-weight:700;white-space:nowrap}
.task-flow{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:var(--s5)}
.task-flow span{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;
  border:1px solid rgba(26,23,16,.2);color:var(--paper-ink-2)}
.task-flow .ar{border:0;color:var(--paper-dim);padding-inline:2px}
.task-meta{display:flex;gap:var(--s7);margin-block-start:var(--s5);padding-block-start:var(--s4);
  border-block-start:1px solid var(--paper-rule);font-size:12.5px;color:var(--paper-dim)}
.task-meta b{display:block;font-size:16px;color:var(--paper-ink);font-weight:800;
  font-variant-numeric:tabular-nums;margin-block-start:3px}

/* ── مقایسه ────────────────────────────────────────────────────────────── */
.vs{max-width:680px;margin-inline:auto;margin-block-start:var(--s7);
  border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--surface)}
.vs-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-block-start:1px solid var(--line-soft)}
.vs-row:first-child{border-block-start:none}
.vs-row>div{padding:13px 16px;font-size:13.5px;display:flex;align-items:center}
.vs-row .rh{font-weight:700;color:var(--faint);font-size:12.5px}
.vs-head{background:var(--raised)}
.vs-head>div{font-weight:800;font-size:13px}
.vs-head .them,.vs-row .them{color:var(--muted)}
.vs-head .us{color:var(--signal)}
.vs-row .us{color:var(--text);font-weight:600;background:var(--signal-faint);
  border-inline-start:2px solid rgba(var(--signal-rgb),.35)}

/* ── ACT 04 · ابزارها ──────────────────────────────────────────────────── */
.prod{display:flex;flex-direction:column;gap:14px;position:relative}
.prod .ic{width:38px;height:38px;border-radius:10px;border:1px solid rgba(var(--signal-rgb),.3);
  background:var(--signal-faint);display:grid;place-items:center;flex:none}
.prod .ic svg{width:18px;height:18px;stroke:var(--signal);fill:none;stroke-width:2}
.prod h3{font-size:19px;font-weight:800}
.prod p{font-size:13.5px;color:var(--muted);line-height:1.9;font-weight:300;flex:1}
.prod .price{font-size:14px;color:var(--faint)}
.prod .price b{font-size:23px;color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}
.prod .badge-rec{position:absolute;inset-block-start:-11px;inset-inline-end:22px}

/* ── اینستاگرام ────────────────────────────────────────────────────────── */
.ig-day{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ig-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  padding:11px 16px;background:var(--raised);border-block-end:1px solid var(--line-soft);
  font-size:12px;color:var(--faint)}
.ig-top b{color:var(--signal);font-weight:800;font-variant-numeric:tabular-nums}
.ig-body{padding:var(--s5) var(--s5) var(--s4);display:flex;gap:var(--s4);align-items:flex-start;flex:1}
.ig-frame{flex:none;border:1px solid var(--line-bright);border-radius:var(--r-s);position:relative;
  overflow:hidden;background:linear-gradient(160deg,rgba(var(--signal-rgb),.12),rgba(var(--action-rgb),.14))}
.ig-frame.sq{width:88px;aspect-ratio:1/1}
.ig-frame.tall{width:64px;aspect-ratio:9/16}
.ig-frame::after{content:'';position:absolute;inset-inline-start:8px;inset-block-start:8px;
  width:16px;height:16px;border-radius:50%;background:var(--surface);border:1px solid var(--line-bright)}
.ig-frame .bars{position:absolute;inset-inline:8px;inset-block-end:8px;display:grid;gap:3px}
.ig-frame .bars i{display:block;height:4px;border-radius:2px;background:rgba(var(--text-rgb),.8)}
.ig-frame .bars i:nth-child(2){width:70%}
.ig-frame .beat{position:absolute;inset-inline:6px;inset-block-start:6px;display:flex;gap:3px}
.ig-frame .beat i{flex:1;height:3px;border-radius:2px;background:rgba(var(--text-rgb),.45)}
.ig-frame .beat i:first-child{background:var(--signal)}
.ig-frame .play{position:absolute;inset:0;display:grid;place-items:center}
.ig-frame .play svg{width:22px;height:22px;fill:rgba(var(--text-rgb),.9);stroke:none}
.ig-txt h3{font-size:15.5px;font-weight:800;margin-block-end:6px}
.ig-txt p{font-size:12.5px;color:var(--muted);line-height:1.85;font-weight:300}
.ig-meta{padding:11px 16px;border-block-start:1px dashed var(--line-soft);
  display:flex;flex-wrap:wrap;gap:5px}
.ig-meta span{font-size:10.5px;color:var(--faint);border:1px solid var(--line-soft);
  border-radius:999px;padding:3px 9px}
.ig-decide{margin-block-start:var(--s5);padding:var(--s4) var(--s5);display:flex;flex-wrap:wrap;
  gap:7px;align-items:center}
.ig-decide b{font-size:13.5px;font-weight:800;margin-inline-end:var(--s2)}
.ig-decide span{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted)}
.ig-decide .ar{border:0;color:var(--signal);padding-inline:2px;font-weight:800}
.ig-ladder{display:flex;flex-wrap:wrap;gap:var(--s5);justify-content:center;
  margin-block-start:var(--s5);font-size:13px;color:var(--muted)}
.ig-ladder b{color:var(--signal)}

/* ── فروشندهٔ هوشمند ───────────────────────────────────────────────────── */
.ss{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;
  margin-block-start:var(--s7);align-items:start}
@media(max-width:900px){.ss{grid-template-columns:1fr}}
.ss-steps{display:grid;gap:12px}
.ss-step{display:flex;gap:14px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px}
.ss-step .k{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;font-size:11px;
  letter-spacing:1.5px;color:var(--signal);flex:none;padding-block-start:3px}
.ss-step b{display:block;font-size:14.5px;font-weight:800;margin-block-end:5px}
.ss-step p{font-size:12.5px;color:var(--muted);line-height:1.85;font-weight:300}
/* ماک حباب تلگرام */
.tgm{border:1px solid var(--line);border-radius:var(--r-l);background:var(--bg2);
  box-shadow:var(--el-2);overflow:hidden}
.tgm-bar{display:flex;align-items:center;gap:9px;padding:12px 16px;
  border-block-end:1px solid var(--line-soft);font-size:12.5px;color:var(--muted)}
.tgm-bar i{width:26px;height:26px;border-radius:50%;background:#229ED9;flex:none;
  display:grid;place-items:center}
.tgm-bar i svg{width:14px;height:14px;fill:#fff;stroke:none}
.tgm-body{padding:var(--s4);display:grid;gap:10px}
.bub{max-width:88%;padding:11px 14px;border-radius:14px;font-size:13px;line-height:1.85}
.bub-in{background:var(--raised);border:1px solid var(--line-soft);
  border-start-end-radius:4px;justify-self:end}
.bub-out{background:rgba(var(--action-rgb),.14);border:1px solid rgba(var(--action-rgb),.3);
  border-start-start-radius:4px;justify-self:start}
/* An escalated turn — the bot handing a sensitive question to the human. */
.bub-hold{background:rgba(var(--warn-rgb),.1);border-color:rgba(var(--warn-rgb),.32)}
.bub-hold .who{color:var(--warn)}
.bub .who{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;font-size:9.5px;
  letter-spacing:1.5px;color:var(--faint);display:block;margin-block-end:5px}
.tgm-act{display:flex;gap:8px;padding:0 var(--s4) var(--s4)}
.tgm-act span{flex:1;text-align:center;font-size:12px;font-weight:700;padding:9px;
  border-radius:9px;border:1px solid var(--line);color:var(--muted)}
.tgm-act span:first-child{border-color:rgba(var(--signal-rgb),.4);color:var(--signal)}

/* ── قیمت ──────────────────────────────────────────────────────────────── */
.price-group{margin-block-start:var(--s7)}
.price-group h3{font-size:17px;font-weight:800;margin-block-end:var(--s2)}
.price-group .note{margin-block-start:var(--s3)}
.freebar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);
  padding:var(--s4) var(--s5);margin-block-start:var(--s6)}
.freebar b{font-size:15px;font-weight:800}
.freebar span{font-size:13px;color:var(--muted);flex:1 1 260px}
.term-switch{display:flex;gap:var(--s5);margin-block:var(--s4) var(--s5)}
/* auto-fit چون تعداد پلن‌ها ثابت نیست (اینستاگرام ۴ تاست، بقیه ۳ تا) */
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:16px;margin-block-start:var(--s5)}
@media(max-width:640px){
  /* موبایل: قفسهٔ افقی با snap — ۱۳ کارتِ پشتِ‌سرِهم ۱۴ صفحه اسکرول می‌شد */
  .pcards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;
    overflow-x:auto;scroll-snap-type:x mandatory;padding-block-end:10px;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .pcards .pcard{scroll-snap-align:center}
}
.pcard{display:flex;flex-direction:column;gap:var(--s3);position:relative;padding:var(--s5)}
.pcard .badge-rec,.pcard .badge-off{position:absolute;inset-block-start:-11px;inset-inline-end:20px}
/* A switched-off line reads as present-but-dormant: same cards, same prices,
   dimmed, and no live control inside. */
.pcards-off .pcard{opacity:.62;filter:saturate(.55)}
.pcards-off .pcard .btn[disabled]{cursor:not-allowed}
.pcards-off-note{text-align:center;color:var(--warn);font-weight:700;margin-block-end:var(--s3)}
/* docs/80 P2 — fit notes above the cards. «مناسبِ تو نیست» is a fact about
   fit, not a fault: danger tint for 'no' so it is not confused with a
   switched-off line; warn tint for 'cond'; muted for the generic «برای که». */
.pcards-fit-note{text-align:right;font-weight:600;margin-block-end:var(--s3);line-height:1.8;
  padding:10px 14px;border-radius:12px;border:1px solid var(--line)}
.pcards-fit-no{color:var(--danger);border-color:rgba(var(--danger-rgb),.35);background:rgba(var(--danger-rgb),.06)}
.pcards-fit-cond{color:var(--warn);border-color:rgba(var(--warn-rgb),.4);background:rgba(var(--warn-rgb),.07)}
.pcards-fit-who{color:var(--muted)}
.pcard .badge-cond,.pcard .badge-nofit{position:absolute;inset-block-start:-11px;inset-inline-end:20px}
.badge-cond{border-color:rgba(var(--warn-rgb),.4);color:var(--warn);background:rgba(var(--warn-rgb),.09);
  font-family:inherit;direction:inherit;font-size:11px;font-weight:800;letter-spacing:0;text-transform:none}
.badge-nofit{border-color:rgba(var(--danger-rgb),.4);color:var(--danger);background:rgba(var(--danger-rgb),.08)}
.pcard h4{font-size:17px;font-weight:800}
.pcard .amt{font-size:15px;color:var(--faint);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pcard .amt b{font-size:27px;color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}
.pcard .off{font-size:12px;color:var(--signal);font-weight:700}
.pcard .facts{display:grid;gap:7px;font-size:13px;color:var(--muted);
  padding-block:var(--s3);border-block:1px solid var(--line-soft)}
.pcard .facts div{display:flex;justify-content:space-between;gap:var(--s3)}
.pcard .facts b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}
.pcard details{font-size:13px}
.pcard details summary{cursor:pointer;color:var(--signal);font-weight:600;
  padding-block:8px;min-height:38px;display:flex;align-items:center;gap:6px;list-style:none}
.pcard details summary::-webkit-details-marker{display:none}
.pcard details summary::before{content:'+';font-weight:800}
.pcard details[open] summary::before{content:'–'}
.pcard details ul{list-style:none;display:grid;gap:6px;padding-block-end:var(--s3)}
.pcard details li{display:flex;gap:7px;color:var(--muted);line-height:1.75;font-size:12.5px}
.pcard details li::before{content:'';flex:none;width:5px;height:5px;border-radius:50%;
  background:var(--signal);opacity:.7;margin-block-start:9px}
.pcard .go{margin-block-start:auto}
.pcard .alt-term{display:block;text-align:center;font-size:12.5px;color:var(--muted);
  text-decoration:underline;text-underline-offset:3px;margin-block-start:10px;padding-block:6px}
.pcard .alt-term:hover{color:var(--text)}
/* سوییچ ماهانه/سه‌ماهه — بدون JS، حالت سه‌ماهه (پیشنهاد سایت) نمایش داده می‌شود */
[data-term="month"] .only-term,[data-term="term"] .only-month{display:none}
.ptrust{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block-start:var(--s6)}
@media(max-width:760px){.ptrust{grid-template-columns:1fr}}
.ptrust .card{font-size:13px;color:var(--muted);line-height:1.9}
.ptrust b{display:block;color:var(--text);font-weight:800;font-size:14.5px;margin-block-end:var(--s3)}
.ptrust ul{list-style:none;display:grid;gap:7px}
.ptrust li{display:flex;gap:8px}
.ptrust li::before{content:'';flex:none;width:5px;height:5px;border-radius:50%;
  background:var(--signal);opacity:.7;margin-block-start:9px}

/* ── نوار تلگرام ───────────────────────────────────────────────────────── */
.tgbar{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);
  align-items:center;margin-block-start:var(--s7);padding:var(--s6)}
@media(max-width:900px){.tgbar{grid-template-columns:1fr}}
.tgbar h3{font-size:clamp(20px,2.6vw,26px);font-weight:900;margin-block:var(--s3)}
.tgbar p{font-size:14px;color:var(--muted);line-height:1.95;font-weight:300}
.tgbar .btn-tg{background:#1C7DB0;color:#fff;border-color:#1C7DB0;margin-block-start:var(--s5)}
.tgbar .btn-tg:hover{background:#229ED9;transform:translateY(-1px)}
.tgbar .aside{border-inline-start:1px solid var(--line);padding-inline-start:var(--s5)}
@media(max-width:900px){.tgbar .aside{border-inline-start:none;border-block-start:1px solid var(--line);
  padding-inline-start:0;padding-block-start:var(--s5)}}

/* ── نظرات ─────────────────────────────────────────────────────────────── */
.quote p{font-size:14.5px;line-height:1.95}
.quote .by{font-size:12.5px;color:var(--faint);margin-block-start:var(--s4)}

/* ── FAQ ───────────────────────────────────────────────────────────────── */
.faq{max-width:48rem;margin-inline:auto;margin-block-start:var(--s6)}

/* ── ACT 05 · پایان ────────────────────────────────────────────────────── */
.final{margin-block-start:var(--s10);text-align:center;padding-block:var(--s9);
  border-block-start:1px solid var(--line-soft);position:relative;overflow:hidden}
.final::before{content:'';position:absolute;inset-block-start:-140px;inset-inline-start:50%;
  transform:translateX(50%);width:700px;height:300px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(var(--action-rgb),.12),transparent)}
.final .act{justify-content:center}
.final h2{margin-block-end:var(--s3)}
.final .sec-sub{margin-inline:auto;margin-block-end:var(--s7)}

/* ── reduced-motion: همه چیز در حالت نهایی ─────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .act::after{flex-basis:120px}
  .flow .rail i,.m .bar i{transform:scaleX(1)!important}
  .fnode .dot{opacity:1!important;transform:none!important}
  .beam{display:none}
  .scan-step.open{grid-template-rows:1fr}
}

/* ── قفسه‌ها — پیشخوانِ تیم (ساختارِ ۲۰۲۶-۰۸: لندینگِ کوتاهِ سه‌قفسه) ── */
.shelf{margin-block-start:var(--s8);padding-block-start:var(--s6);
  border-block-start:1px solid var(--line-soft)}
.shelf-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:var(--s4);flex-wrap:wrap;margin-block-end:var(--s2)}
.shelf-head h3{font-size:clamp(18px,2.6vw,23px);font-weight:900;letter-spacing:-.3px}
.shelf-staff{font-size:13px;color:var(--muted);margin-block-start:8px}
.shelf-staff .e,.shelf-subhead .e{margin-inline-end:5px;
  font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.shelf-side{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.shelf-aud{font-size:12.5px;color:var(--faint)}
.shelf-aud b{color:var(--signal);font-weight:800}
.shelf-more{font-size:13px;font-weight:700;color:var(--signal);white-space:nowrap}
.shelf-more:hover{text-decoration:underline}
.shelf-sub{margin-block-start:var(--s6)}
.shelf-subhead{display:flex;justify-content:space-between;align-items:baseline;
  gap:var(--s4);flex-wrap:wrap;margin-block-end:var(--s2)}
.shelf-subhead p{font-size:14px;color:var(--muted);line-height:2;max-width:44rem}
.shelf-subhead b{color:var(--text)}
.freebar .shelf-more{margin-inline-start:auto}
@media(max-width:700px){.shelf-head,.shelf-subhead{flex-direction:column;align-items:flex-start}}

/* ── خطِ همکاری — بصری‌سازیِ تیم (۲۰۲۶-۰۸: پرونده دست‌به‌دست می‌شود) ──
   ستونِ فقرات در لبهٔ خواندن (RTL) که «پیوسته» با خودِ اسکرول پر می‌شود؛
   شش ایستگاه که با ورود روشن می‌شوند؛ و در دسکتاپ یک صحنهٔ sticky که
   آرتیفکتِ ایستگاهِ نزدیک به مرکزِ دید را بزرگ نشان می‌دهد و با هر
   دست‌به‌دست crossfade + بازترسیم می‌شود — بالا برگردی، صحنه هم برمی‌گردد.
   بدونِ کتابخانه؛ reduced-motion = حالتِ نهایی، بدونِ حرکت. */
.orch{position:relative;margin-block-start:var(--s7);
  padding-inline-start:44px;padding-inline-end:0}
.orch-spine{position:absolute;inset-block:26px;inset-inline-start:15px;width:2px;
  background:var(--line-soft);border-radius:2px}
.orch-spine .fill{position:absolute;inset-inline:0;inset-block-start:0;height:100%;
  background:var(--signal);border-radius:2px;transform-origin:top;
  transform:scaleY(var(--orch-p,0));transition:transform .7s var(--ease)}
.orch-spine .dot{position:absolute;inset-inline-start:50%;width:10px;height:10px;
  border-radius:50%;background:var(--signal);
  box-shadow:0 0 0 4px rgba(var(--signal-rgb),.18);
  transform:translate(50%,-50%);inset-block-start:calc(var(--orch-p,0)*100%);
  transition:inset-block-start .7s var(--ease)}
.orch.scrub .orch-spine .fill{transition:none}
.orch.scrub .orch-spine .dot{transition:none}
.st{position:relative;display:flex;align-items:flex-start;gap:var(--s5);
  padding-block:var(--s6);min-height:150px}
.st + .st{border-block-start:1px dashed var(--line-soft)}
.st-node{position:absolute;inset-inline-start:-44px;inset-block-start:calc(var(--s6) + 2px);
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--surface);border:1.5px solid var(--line-bright);color:var(--faint);
  transition:border-color .5s var(--ease),color .5s var(--ease),box-shadow .5s var(--ease)}
.st-node .ticon{width:17px;height:17px}
.st.live .st-node{border-color:var(--signal);color:var(--signal);
  box-shadow:0 0 0 5px rgba(var(--signal-rgb),.12)}
.st-body{flex:1;min-width:240px}
.st-hand{display:inline-block;font-family:var(--font);font-size:11.5px;
  font-weight:700;letter-spacing:normal;color:var(--faint);border:1px dashed var(--line-bright);
  border-radius:999px;padding:3px 10px;margin-block-end:10px;
  transition:color .5s var(--ease),border-color .5s var(--ease)}
.st.live .st-hand{color:var(--signal);border-color:rgba(var(--signal-rgb),.45)}
.st-body h3{font-size:clamp(17px,2.4vw,21px);font-weight:900;letter-spacing:-.2px;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.st-body h3 small{font-size:12.5px;font-weight:700;color:var(--faint);
  font-variant-numeric:tabular-nums}
.st-body p{font-size:13.5px;color:var(--muted);line-height:2;margin-block-start:8px;
  max-width:34rem}
.st-body p b{color:var(--signal);font-weight:800}
.st-meta{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;
  margin-block-start:var(--s4)}
.st-go{font-size:13px;font-weight:700;color:var(--signal)}
.st-go:hover,.st-quick:hover{text-decoration:underline}
.st-quick{font-size:12px;font-weight:700;color:var(--signal)}
.st-art{flex:none;width:150px;color:var(--signal);opacity:.9;align-self:center}
.st-art svg{width:100%;height:auto;display:block}
.st-art .d{stroke-dasharray:100;stroke-dashoffset:100}
.st.live .st-art .d1{animation:draw .7s var(--ease) .05s forwards}
.st.live .st-art .d2{animation:draw .7s var(--ease) .3s forwards}
.st.live .st-art .d3{animation:draw .7s var(--ease) .55s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* صحنهٔ سنجاق‌شده — قابِ ابزارِ دیده‌بانی که آرتیفکتِ فعال رویش می‌آید */
.orch-stage{display:none}
@media(min-width:1061px){
  .orch{display:grid;grid-template-columns:minmax(0,1fr) 320px;
    column-gap:clamp(44px,6vw,88px);align-items:start}
  .orch > .st{grid-column:1;min-height:220px;padding-block:var(--s7)}
  .st-art{display:none}
  .orch-stage{display:block;grid-column:2;grid-row:1/span 6;position:sticky;
    inset-block-start:max(84px,calc(50vh - 200px));height:400px;
    border:1px solid var(--line-bright);border-radius:16px;
    background:radial-gradient(120% 90% at 50% 0%,rgba(var(--signal-rgb),.05),transparent 60%),var(--surface)}
  .orch-stage::before,.orch-stage::after{content:'';position:absolute;width:16px;height:16px;
    border:0 solid var(--signal);opacity:.75}
  .orch-stage::before{inset-block-start:-1px;inset-inline-end:-1px;
    border-width:1.5px 1.5px 0 0;border-start-end-radius:8px}
  .orch-stage::after{inset-block-end:-1px;inset-inline-start:-1px;
    border-width:0 0 1.5px 1.5px;border-end-start-radius:8px}
  .stage-tag{position:absolute;inset-block-start:13px;inset-inline-start:16px;
    font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--faint);direction:ltr}
  .stage-tag::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;
    background:var(--signal);margin-inline-end:7px;vertical-align:1px;
    animation:stagePulse 2.4s ease-in-out infinite}
  .stage-hand{position:absolute;inset-block-end:14px;inset-inline:16px;text-align:center;
    font-size:12px;font-weight:700;color:var(--signal)}
  .stage-hand.sw{animation:handSwap .5s var(--ease)}
  .orch-stage .frame{position:absolute;inset:46px 30px 54px;display:grid;place-items:center;
    color:var(--signal);opacity:0;transform:scale(.94) translateY(10px);
    transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .orch-stage .frame svg{width:min(80%,236px);height:auto}
  .orch-stage .frame .d{stroke-dasharray:100;stroke-dashoffset:100}
  .orch-stage[data-active="line-scanner"] .f-line-scanner{opacity:1;transform:none}
  .orch-stage[data-active="line-site"] .f-line-site{opacity:1;transform:none}
  .orch-stage[data-active="line-ig"] .f-line-ig{opacity:1;transform:none}
  .orch-stage[data-active="line-seller"] .f-line-seller{opacity:1;transform:none}
  .orch-stage[data-active="line-support"] .f-line-support{opacity:1;transform:none}
  .orch-stage[data-active="line-manager"] .f-line-manager{opacity:1;transform:none}
  .orch-stage[data-active="line-scanner"] .f-line-scanner .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-scanner"] .f-line-scanner .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-scanner"] .f-line-scanner .d3{animation:draw .8s var(--ease) .58s both}
  .orch-stage[data-active="line-site"] .f-line-site .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-site"] .f-line-site .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-site"] .f-line-site .d3{animation:draw .8s var(--ease) .58s both}
  .orch-stage[data-active="line-ig"] .f-line-ig .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-ig"] .f-line-ig .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-ig"] .f-line-ig .d3{animation:draw .8s var(--ease) .58s both}
  .orch-stage[data-active="line-seller"] .f-line-seller .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-seller"] .f-line-seller .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-seller"] .f-line-seller .d3{animation:draw .8s var(--ease) .58s both}
  .orch-stage[data-active="line-support"] .f-line-support .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-support"] .f-line-support .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-support"] .f-line-support .d3{animation:draw .8s var(--ease) .58s both}
  .orch-stage[data-active="line-manager"] .f-line-manager .d1{animation:draw .8s var(--ease) .05s both}
  .orch-stage[data-active="line-manager"] .f-line-manager .d2{animation:draw .8s var(--ease) .32s both}
  .orch-stage[data-active="line-manager"] .f-line-manager .d3{animation:draw .8s var(--ease) .58s both}
}
@keyframes handSwap{from{opacity:0;transform:translateY(6px)}}
@keyframes stagePulse{50%{opacity:.35}}

/* ── لایهٔ قفل-به-اسکرول (تکنولوژی بومیِ ۲۰۲۶؛ بدونِ کتابخانه) ──
   جایی که مرورگر scroll-driven animations دارد، روایت زیرِ انگشتِ کاربر
   جلو می‌رود: هیرو با اسکرول کنار می‌رود، دِک آهسته‌تر می‌آید (پارالاکس)
   و ترسیمِ آرتیفکت‌های نمای پشته‌ای به خودِ اسکرول scrub می‌شود —
   جلو بروی کشیده می‌شود، برگردی پاک. مرورگرِ بی‌پشتیبان همان نسخهٔ
   trigger‌محور را می‌گیرد؛ این لایه فقط ارتقاست. */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .hero-in{animation:heroExit linear both;animation-timeline:scroll();
      animation-range:0px 72vh}
    .deck{animation:deckFloat linear both;animation-timeline:scroll();
      animation-range:0px 110vh}
    .st-art{view-timeline:--art block}
    .st-art .d,.st.live .st-art .d1,.st.live .st-art .d2,.st.live .st-art .d3{
      animation:draw 1ms linear both;animation-timeline:--art;
      animation-range:entry 30% cover 55%}
    .st-art .d2,.st.live .st-art .d2{animation-range:entry 44% cover 68%}
    .st-art .d3,.st.live .st-art .d3{animation-range:entry 58% cover 80%}
    .fnode{animation:riseScrub 1ms linear both;animation-timeline:view();
      animation-range:entry 5% entry 65%}
  }
}
@keyframes heroExit{to{opacity:.1;transform:translateY(-44px) scale(.985)}}
@keyframes deckFloat{from{transform:translateY(26px)}to{transform:translateY(-12px)}}
@keyframes riseScrub{from{opacity:0;transform:translateY(22px)}}

@media(prefers-reduced-motion:reduce){
  .st-art .d,.orch-stage .frame .d{stroke-dashoffset:0;animation:none}
  .orch-spine .fill{transform:scaleY(1);transition:none}
  .orch-spine .dot{display:none}
  .orch-stage .frame{transition:none}
  .stage-tag::before{animation:none}
}
@media(max-width:820px){
  .st{flex-wrap:wrap}
  .st-art{width:120px;align-self:flex-start;margin-inline-start:auto}
}
@media(max-width:560px){.st-art{display:none}}

/* docs/80 P5-06/L1-03 — the honest note that rides with the promise, and the
   three lines every product card carries (P8-02). Quiet on purpose: this is
   the copy a buyer must READ, not a banner they scroll past. */
.promise-note{margin-block-start:.6rem;color:var(--muted);font-size:14px;line-height:2;
  border-inline-start:3px solid var(--line);padding-inline-start:12px}
.pcards-copy{display:grid;gap:6px;margin-block-end:var(--s3);padding:12px 14px;
  border:1px solid var(--line);border-radius:12px;background:var(--panel,transparent);font-size:13.5px;line-height:1.95}
.pcards-copy b{font-weight:750}
.pcards-copy .pc-not{color:var(--warn)}
