/* Moments v2: a different interaction per site (uses the visual styles from scrolly.css) */
.mo-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:44px}
.mo-head h2{margin:0;color:var(--sc-ink);text-wrap:balance}
.mo-head p{margin:0;color:var(--sc-muted);font-size:17px;line-height:1.65;max-width:52ch;text-wrap:pretty}
.mo-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sc-line);background:#fff;color:var(--sc-ink);font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;transition:border-color .2s}
.mo-btn:hover{border-color:var(--sc-acc)}
.mo-note{margin:14px 0 0;font-size:13px;color:var(--sc-muted)}

/* v1: auto demo with story tabs */
.dm{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}
.dm-text{position:relative;min-height:190px}
.dm-text>div{position:absolute;inset:0}
.dm-n{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--sc-acc);margin-bottom:12px}
.dm-text h3{margin:0 0 10px;font-size:28px;line-height:1.2;color:var(--sc-ink)}
.dm-text p{margin:0;font-size:17px;line-height:1.65;color:var(--sc-muted);max-width:34em}
.dm-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:26px}
.dm-tab{position:relative;text-align:left;border:0;background:none;padding:14px 0 0;font:inherit;font-size:14px;font-weight:600;color:var(--sc-muted);cursor:pointer}
.dm-tab::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:2px;background:var(--sc-line)}
.dm-tab i{position:absolute;left:0;top:0;height:3px;width:0;border-radius:2px;background:var(--sc-acc)}
.dm-tab.on{color:var(--sc-ink)}
.dm-tab.on i{width:100%;transition:width var(--dm-t,3600ms) linear}
.dm-tab.done i{width:100%}
.dm .scx-phone{height:min(580px,calc(100vh - 130px))}

/* v2: live board */
.lb .scx-board{padding:34px 36px}
.lb-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;margin-top:22px}
.lb-prog{position:relative;height:6px;border-radius:4px;background:var(--sc-tint);margin-top:22px}
.lb-prog span{position:absolute;top:0;bottom:0;left:0;width:0;border-radius:4px;background:var(--sc-acc);transition:width 1.4s linear}
.lb-ticks{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--sc-muted);font-variant-numeric:tabular-nums}
.lb-say{position:relative;min-height:96px}
.lb-say>div{position:absolute;inset:0}
.lb-say small{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-acc);font-weight:600;margin-bottom:8px}
.lb-say p{margin:0;font-size:19px;line-height:1.45;color:var(--sc-ink)}
.lb .bd-nums{margin:0}
.lb-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--sc-line);font-size:13.5px;color:var(--sc-muted)}
.lb-actions b{color:var(--sc-ink);font-variant-numeric:tabular-nums}

/* v4: pins and footnotes */
.hs{display:grid;grid-template-columns:1.45fr 1fr;gap:48px;align-items:start}
.hs .pr-pin{border:0;cursor:pointer;font:inherit;font-weight:700;font-size:14px;transition:transform .25s,background .25s,color .25s}
.hs .pr-pin.on{transform:scale(1.18)}
.hs .pr-pin:not(.on){background:#fff;color:var(--sc-acc);box-shadow:0 0 0 2px var(--sc-acc)}
.fn{list-style:none;margin:0;padding:0;border-top:3px double var(--sc-ink)}
.fn li{border-bottom:1px solid var(--sc-line)}
.fn button{display:grid;grid-template-columns:34px 1fr;gap:14px;width:100%;text-align:left;border:0;background:none;padding:18px 0;font:inherit;cursor:pointer;color:var(--sc-muted)}
.fn button b{font-size:22px;line-height:1;color:var(--sc-acc);font-weight:700}
.fn button strong{display:block;font-size:18px;color:var(--sc-muted);margin-bottom:4px;transition:color .25s}
.fn button span{font-size:15px;line-height:1.55;transition:color .25s}
.fn li.on button strong,.fn li.on button span{color:var(--sc-ink)}

/* v5: call player */
.cp{max-width:980px;margin:0 auto}
.cp .scx-call{padding:30px 32px}
.cp-top{display:flex;align-items:center;gap:18px}
.cp-play{flex:none;width:56px;height:56px;border-radius:50%;border:0;background:var(--sc-acc);color:var(--sc-ink);display:grid;place-items:center;cursor:pointer}
.cp-play svg{width:20px;height:20px}
.cp-play .pa{display:none}.cp.playing .cp-play .pl{display:none}.cp.playing .cp-play .pa{display:block}
.cp-top b{display:block;color:#fff;font-size:16px}
.cp-top small{color:rgba(233,238,243,.6);font-size:13px}
.cp-top .cl-time{margin-left:auto;font-size:15px}
.cp .cl-wave{cursor:pointer;height:72px;margin:22px 0 10px}
.cp .cl-played,.cp .cl-head{transition:none}
.cp-sub{position:relative;min-height:116px;margin-top:14px;text-align:center}
.cp-sub>div{position:absolute;inset:0}
.cp-sub b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sc-acc);margin-bottom:6px}
.cp-sub b.u{color:#9cc3e6}
.cp-sub p{margin:0;font-size:22px;line-height:1.4;color:#fff;font-family:"Noto Sans Bengali",inherit}
.cp-sub small{display:block;margin-top:6px;font-size:14.5px;color:rgba(233,238,243,.65)}
.cp .cl-chips{justify-content:center;margin-top:8px}

/* v6: phrase to field */
.pf{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}
.pf-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pf-svg path{fill:none;stroke:var(--sc-acc);stroke-width:1.5;stroke-dasharray:4 5;opacity:0;transition:opacity .5s}
.pf-svg path.vis{opacity:.85}
.pf-chat{display:grid;gap:12px}
.pf-msg{max-width:92%;padding:13px 16px;border-radius:16px;font-size:15.5px;line-height:1.5;background:#fff;border:1px solid var(--sc-line);color:var(--sc-ink)}
.pf-msg small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-muted);margin-bottom:4px}
.pf-msg.me{justify-self:end;background:var(--sc-tint);border-color:transparent}
.pf-msg.sys{justify-self:center;background:transparent;border-style:dashed;font-size:14px;color:var(--sc-muted);text-align:center}
.pf-msg mark{background:linear-gradient(transparent 55%,rgba(181,83,47,.25) 55%);color:inherit;padding:0 2px;border-radius:2px}
.pf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px}

/* v8: campaign tabs */
.ct-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#fff;border:1px solid var(--sc-line);margin-bottom:22px}
.ct-tabs button{border:0;background:none;font:inherit;font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;color:var(--sc-muted);cursor:pointer;transition:background .25s,color .25s}
.ct-tabs button.on{background:var(--sc-acc);color:#fff}
.ct-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:center}
.ct-cap{position:relative;min-height:220px}
.ct-cap>div{position:absolute;inset:0}
.ct-cap h3{margin:0 0 10px;font-size:24px;color:var(--sc-ink)}
.ct-cap p{margin:0 0 14px;color:var(--sc-muted);font-size:16px;line-height:1.6}
.ct-cap dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14.5px}
.ct-cap dt{color:var(--sc-muted)}.ct-cap dd{margin:0;color:var(--sc-ink);font-weight:600}
.ct .ar-col .ar-bar{background:var(--sc-acc)}
.ct .ar-col.last .ar-bar{background:var(--sc-sun)}

@media (max-width:900px){
  .mo-head{grid-template-columns:1fr;gap:12px;margin-bottom:28px}
  .dm{grid-template-columns:1fr;gap:24px}
  .dm .scx-phone{height:440px;order:1}
  .dm-left{order:2}
  .dm-text{min-height:180px}
  .dm-tabs{gap:6px}.dm-tab{font-size:11.5px}
  .dm-text h3{font-size:22px}.dm-text p{font-size:15.5px}
  .lb .scx-board{padding:18px}
  .lb-grid{grid-template-columns:1fr;gap:16px}
  .lb-say p{font-size:16px}
  .lb .bd-nums{grid-template-columns:repeat(2,1fr);gap:12px 0}
  .lb .bd-nums div:nth-child(3){padding-left:0;border-left:0}
  .hs{grid-template-columns:1fr;gap:18px}
  .cp .scx-call{padding:18px}.cp-sub{min-height:160px}.cp-sub p{font-size:17px}.cp .cl-wave{height:46px}
  .pf{grid-template-columns:1fr;gap:24px}.pf-svg{display:none}
  .ct-grid{grid-template-columns:1fr;gap:20px}.ct-cap{min-height:230px}
  .ct-tabs{display:flex;overflow-x:auto;max-width:100%}.ct-tabs button{white-space:nowrap;padding:8px 12px;font-size:13px}
}
