/* ============================================================
   Peyvand S2 (modules hub) — standalone export for Elementor
   Source: homepage.v4.11.html. Everything scoped under #modules:
   no global reset, no :root leakage, no bare class selectors.
   Enqueue via s2-modules.php (mu-plugin); markup lives in modules.html.
   ============================================================ */

/* scoped reset — replaces the page's universal reset, section-local only.
   RTL: the section pins direction/unicode-bidi so it renders correctly in
   any theme. Fonts: intentionally not set — inherits the theme's font. */
#modules{direction:rtl;unicode-bidi:isolate}
#modules *{margin:0;padding:0;box-sizing:border-box}
#modules a{color:inherit;text-decoration:none}
#modules button{font-family:inherit;cursor:pointer}
#modules ::selection{background:rgba(34,211,238,.3)}
#modules :focus-visible{outline:2.5px solid var(--teal-deep);outline-offset:3px;border-radius:8px}

/* design tokens the section needs (was :root) */
#modules{
  --ease:cubic-bezier(.22,1,.36,1);
  --line:rgba(16,34,43,.1);
  --teal:#0e94a8;
  --teal-deep:#0b6d7d;
}

#modules .wrap{max-width:1200px;margin-inline:auto;padding-inline:24px;position:relative;z-index:1}
#modules .rev-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;transition:.25s}
#modules .rev-arrow:hover{background:var(--teal);border-color:var(--teal)}
#modules .rev-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
#modules .rev-dot{width:8px;height:8px;border-radius:99px;background:rgba(16,34,43,.15);border:0;transition:.3s;padding:0}
#modules .rev-dot.active{width:26px;background:var(--teal-deep)}
#modules .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--acc-deep);font-size:13px;font-weight:700;letter-spacing:.06em}
#modules .eyebrow .eq{width:8px;height:8px;border-radius:2px;background:var(--acc);box-shadow:0 0 12px rgba(15,184,156,.7);transform:rotate(45deg)}
#modules .s-title{font-weight:400;font-size:clamp(30px,4.2vw,46px);line-height:1.3;margin:10px 0 8px;color:var(--txt)}
#modules .s-sub{color:var(--mut);max-width:640px;font-size:15.5px}
#modules .s-head{margin-bottom:44px}
#modules .s-head.center{text-align:center}
#modules .s-head.center .s-sub{margin:0 auto}
#modules .rv{opacity:0;transform:translateY(28px)}
#modules .rv.in{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease)}
#modules .rv.in[data-d="1"]{transition-delay:.1s}
#modules .rv.in[data-d="2"]{transition-delay:.2s}
@keyframes pulse{70%{box-shadow:0 0 0 11px rgba(15,184,156,0)}100%{box-shadow:0 0 0 0 rgba(15,184,156,0)}}
#modules{padding:110px 0}
#modules .pills{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px;justify-content:center}
#modules .pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:99px;padding:8px 17px;font-size:13.5px;color:var(--mut);background:#fff;font-weight:600;transition:.3s var(--ease);box-shadow:0 6px 16px -14px rgba(19,32,64,.4)}
#modules .pill i{width:8px;height:8px;border-radius:50%;background:var(--pc,var(--acc));font-style:normal;transition:.3s}
#modules .pill:hover{border-color:var(--l50);color:var(--txt);transform:translateY(-2px)}
#modules .pill.on{color:var(--txt);border-color:var(--f60);background:var(--f13);box-shadow:0 10px 26px -14px var(--t80)}
#modules .pill.on i{box-shadow:0 0 10px var(--pc)}
#modules .p-strip{display:flex;align-items:center;gap:10px;padding:15px 22px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--dim)}
#modules .p-strip .ps-dot{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 9px var(--acc);animation:pulse 2.4s infinite}
#modules .p-strip b{color:var(--txt);font-size:13.5px;font-weight:700}
#modules .p-strip .ps-tag{margin-right:auto;font-size:11px;border:1px solid var(--line2);border-radius:99px;padding:3px 11px;color:var(--mut);display:flex;align-items:center;gap:7px}
#modules .p-strip .ps-tag.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc2);box-shadow:0 0 8px var(--acc2);animation:pulse 2s infinite}
#modules .hub{position:relative;min-height:480px;overflow:hidden}
#modules .hub svg.layer{position:absolute;inset:0;width:100%;height:100%}
#modules .orb{fill:none;stroke:rgba(190,212,255,.45);stroke-width:1.9;stroke-linecap:round;stroke-dasharray:1.6 4;animation:dashmove 14.4s linear infinite}
#modules .orb.o2{animation-duration:22s;animation-direction:reverse;stroke:rgba(190,215,255,.34)}
@keyframes dashmove{to{stroke-dashoffset:-68}}
#modules .hline{stroke:rgba(150,180,255,.13);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:2 5;transition:.5s}
#modules .hline.on{stroke:var(--mc);stroke-width:1.7;stroke-dasharray:2 5;animation:dashmove 6s linear infinite}
#modules .star{position:absolute;width:3px;height:3px;border-radius:50%;animation:tw 3.4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.45;transform:scale(.65)}50%{opacity:1;transform:scale(1.5)}}
#modules .orb,#modules .hline.on,#modules .star,#modules .hc-ring,#modules .hnode.on .hn-dot::before,#modules .p-strip .ps-dot,#modules .p-strip .ps-tag.live::before{animation-play-state:paused}
#modules.anim-live .orb,#modules.anim-live .hline.on,#modules.anim-live .star,#modules.anim-live .hc-ring,#modules.anim-live .hnode.on .hn-dot::before,#modules.anim-live .p-strip .ps-dot,#modules.anim-live .p-strip .ps-tag.live::before{animation-play-state:running}
#modules .hub-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:4}
#modules .hc-ring{position:absolute;left:50%;top:50%;width:158px;height:158px;border:2px solid #ffe08b;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px rgba(255,215,106,.55),inset 0 0 14px rgba(255,215,106,.35);animation:corePulse 5.5s ease-out infinite}
@keyframes corePulse{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.639)}}
#modules .hub-core .hc-lbl{margin-top:12px;font-size:17px;font-weight:500;color:#eef3ff;background:rgba(30,26,60,.72);border:1px solid rgba(255,255,255,.18);display:inline-block;padding:3px 14px;border-radius:99px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
#modules .hub-core.on .hc-lbl{color:#ffd76a;border-color:rgba(255,215,106,.65);text-shadow:0 0 12px rgba(255,215,106,.9);background:rgba(35,28,8,.85)}
#modules .hub-core{
  width:158px;height:158px;border-radius:50%;
  background:radial-gradient(circle at 50% 36%,#fff 0%,#fff6c8 28%,#ffd76a 60%,#f2a83b 100%);
  border:none;
  transition:transform .4s var(--ease),box-shadow .4s;
  box-shadow:
    0 0 26px 6px rgba(255,215,106,.6),
    0 0 70px 14px rgba(255,215,106,.3),
    inset 0 -10px 20px rgba(240,150,40,.4);
}
#modules .hub-core.on{
  transform:translate(-50%,-50%) scale(1.1);
  box-shadow:
    0 0 34px 10px rgba(255,215,106,.85),
    0 0 90px 22px rgba(255,215,106,.4),
    inset 0 -10px 20px rgba(240,150,40,.4);
}
#modules .hnode{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:7px;transition:transform .4s var(--ease)}
#modules .hn-dot{
  position:relative;width:71px;height:71px;border-radius:50%;
  background:linear-gradient(160deg,
    var(--f80) 0%,
    var(--mc) 42%,
    var(--d60) 100%);
  display:grid;place-items:center;color:#fff;
  transition:box-shadow .4s var(--ease);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 4px 10px -4px rgba(0,0,0,.35),
    0 12px 26px -12px var(--t40);
}
#modules .hn-dot svg{width:33px;height:33px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* v4.8: pulsing halo ring on the selected node (timer or user) — visible on light bg */
@keyframes nodePulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.6);opacity:0}}
#modules .hnode.on .hn-dot::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1px solid var(--mc);
  box-shadow:0 0 10px var(--t55);
  animation:nodePulse 3s ease-out infinite;pointer-events:none;
}
#modules .hn-lbl{font-size:15px;font-weight:400;color:#e7eeff;transition:color .3s,border-color .3s,background-color .3s;background:rgba(9,14,26,.8);border:1px solid transparent;padding:2px 10px;border-radius:99px;white-space:nowrap}
#modules .hnode:hover{transform:translate(-50%,-50%) scale(1.12)}
#modules .hnode:hover .hn-dot{color:#fff}
#modules .hnode.on{transform:translate(-50%,-50%) scale(1.28)}
#modules .hnode.on .hn-dot{
  color:#fff;
  background:linear-gradient(160deg,
    var(--f90) 0%,
    var(--mc) 48%,
    var(--d68) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    0 0 0 1px var(--t30),
    0 6px 14px -6px rgba(0,0,0,.35),
    0 14px 30px -12px var(--t45);
}
#modules .hnode.on .hn-lbl{font-size:13px;color:var(--mc);border:1px solid var(--t40)}
#modules .deck{position:relative;flex:1;padding:26px;min-height:470px}
#modules .mcard{
  position:absolute;inset:26px;border-radius:18px;display:flex;flex-direction:column;
  background:
    radial-gradient(420px 260px at 88% -8%,var(--t22),transparent 70%),
    radial-gradient(360px 300px at -10% 112%,rgba(34,211,238,.18),transparent 70%),
    radial-gradient(320px 280px at 108% 112%,rgba(124,58,237,.15),transparent 70%),
    linear-gradient(165deg,#0a323c 0%,#0d4552 55%,#10606f 100%);
  border:1px solid var(--w38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 26px 50px -26px rgba(0,0,0,.6);
  padding:24px 26px;overflow:hidden;
  transition:transform .55s var(--ease),opacity .45s,filter .45s;
}
#modules .mcard::before{content:"";position:absolute;top:0;right:0;left:0;height:2.5px;background:linear-gradient(90deg,transparent,var(--mc),transparent)}
#modules .mcard.lvl0{transform:none;z-index:6;opacity:1}
#modules .mcard.lvl1{transform:translate(26px,15px) scale(.955);z-index:5;opacity:.68;filter:brightness(.72) saturate(.75)}
#modules .mcard.lvl2{transform:translate(48px,29px) scale(.912);z-index:4;opacity:.34;filter:brightness(.5) saturate(.6)}
#modules .mcard.lvl3{transform:translate(60px,38px) scale(.88);z-index:3;opacity:0}
#modules .mcard.exit{transform:translate(-118%,-4%) rotate(-5deg)!important;opacity:0!important;z-index:9;transition-duration:.42s}
#modules .mc-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
#modules .mc-ico{width:52px;height:52px;border-radius:15px;background:var(--t16);border:1px solid var(--t45);display:grid;place-items:center;color:var(--mc);flex-shrink:0;box-shadow:0 8px 24px -10px var(--t70)}
#modules .mc-ico svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#modules .mc-top h3{font-weight:400;font-size:24px;line-height:1.3}
#modules .mc-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--mc);border:1px solid var(--t45);border-radius:99px;padding:1px 11px;margin-top:2px}
#modules .mc-desc{color:var(--mut);font-size:14px;margin-bottom:14px}
#modules .mc-glass{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;border-radius:12px;border:1px solid #fff;background:#fff;color:#0b2530;font-weight:800;font-size:14px;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);transition:transform .25s var(--ease),background .25s,box-shadow .25s}
#modules .mc-glass:hover{transform:translateY(-2px);background:#eef4f6;box-shadow:0 16px 30px -12px rgba(0,0,0,.55)}
#modules .mc-glass:active{transform:scale(.98)}
#modules .wf{position:relative;border-top:1px solid var(--line);background:linear-gradient(155deg,#052731,#0a3d47 55%,#0d5560);overflow:hidden}
#modules .wf::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;top:-180px;left:-120px;background:radial-gradient(circle,rgba(34,211,238,.22),transparent 70%);pointer-events:none}
#modules .wf::after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;bottom:-140px;right:-90px;background:radial-gradient(circle,rgba(124,58,237,.2),transparent 70%);pointer-events:none}
#modules .wf>.p-strip,#modules .wf>.wf-body{position:relative;z-index:1}
#modules .wf-body{padding:26px 30px 32px}
#modules .wf-scroll{overflow:hidden;padding-bottom:6px}
#modules .wf-map{position:relative;min-width:0;width:100%;max-width:100%;height:430px;overflow:hidden;isolation:isolate}
#modules .wf-map>svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
#modules .p-base{fill:none;stroke:rgba(150,180,255,.14);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
#modules .p-fill{fill:none;stroke:url(#wfg);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
#modules .wf-snake .ws-node{width:46px;height:46px}
#modules .wf-snake .ws-node svg{width:20px;height:20px}
#modules .wf-snake .wstep.last .ws-node{width:58px;height:58px;background:#0e1830;border-color:var(--acc);color:var(--acc);box-shadow:0 12px 28px -12px rgba(0,0,0,.85),0 0 0 6px rgba(63,224,197,.12)}
#modules .wf-snake .wstep.last.lit .ws-node{background:#10333c;box-shadow:0 0 32px -4px rgba(63,224,197,.65),0 0 0 6px rgba(63,224,197,.12)}
#modules .wf-snake .wstep.last .ws-txt b{color:var(--acc)}
#modules .wf-snake .ws-txt{width:max-content;max-width:120px}
#modules .wf-decor{fill:rgba(150,180,255,.18)}
#modules #wfSteps{position:absolute;inset:0;z-index:2;pointer-events:none}
#modules .wstep{position:absolute;width:0;height:0;opacity:0;transition:opacity .5s;z-index:3}
#modules #wfSteps.show .wstep{opacity:1}
#modules .ws-node{
  position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.5);opacity:0;z-index:4;
  width:46px;height:46px;border-radius:50%;background:#0e1830;border:2px solid var(--line2);
  display:grid;place-items:center;color:var(--mut);
  transition:transform .55s var(--ease),opacity .4s,background .4s,border-color .4s,color .4s,box-shadow .4s;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.85);
}
#modules #wfSteps.show .ws-node{transform:translate(-50%,-50%) scale(1);opacity:1}
#modules .ws-node svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#modules .ws-big-num{font-size:17px;font-weight:800;line-height:1}
#modules .wstep.last .ws-big-num{font-size:20px}
#modules .ws-txt{position:absolute;left:50%;transform:translateX(var(--tx,-50%));width:max-content;max-width:120px;text-align:center;z-index:4}
#modules .wstep.below .ws-txt{top:30px}
#modules .wstep.above .ws-txt{bottom:30px}
#modules .wstep.side-r .ws-txt{left:30px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);text-align:left}
#modules .wstep.side-l .ws-txt{left:auto;right:30px;top:50%;bottom:auto;transform:translateY(-50%);text-align:right}
#modules .ws-txt b{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;color:var(--txt);transition:color .4s}
#modules .ws-txt p{display:none}
#modules .wstep.lit .ws-node{background:#3a2f12;border-color:var(--acc2);color:var(--acc2);box-shadow:0 0 36px -4px rgba(244,184,96,.8)}
#modules #wfSteps.show .wstep.lit .ws-node{transform:translate(-50%,-50%) scale(1.14)}
#modules .wstep.lit .ws-node{
  transition:transform .3s var(--ease),opacity .4s,background .4s,border-color .4s,color .4s,box-shadow .4s;
  transition-delay:0s;
}
#modules .wstep.lit{transition-delay:0s}
#modules .wstep.lit .ws-txt b{color:var(--acc2);transition:color .4s}
#modules .wstep.flag .ws-node{background:#0e1830;border-color:var(--acc);color:var(--acc)}
#modules .wstep.flag.lit .ws-node{background:#10333c;box-shadow:0 0 32px -4px rgba(63,224,197,.65)}
#modules .wstep.flag.lit .ws-txt b{color:var(--acc)}
#modules .wstep.flag .ws-txt{width:180px;transform:translateX(-28%)}
#modules .ind-list .p-strip{border-bottom:none;padding:6px 8px 14px}
@media(max-width:1080px){
#modules .hub{min-height:420px}
#modules .ind-list .p-strip{display:none}
}
@media(max-width:760px){
#modules .deck{min-height:560px;padding:18px}
#modules .mcard{inset:18px;padding:20px}
#modules .mcard.lvl1{transform:translate(16px,11px) scale(.96)}
#modules .mcard.lvl2{transform:translate(30px,21px) scale(.92)}
#modules .wf-map{height:470px}
}
@media (prefers-reduced-motion: reduce){
#modules .rv{opacity:1;transform:none}
#modules .wstep,#modules .ws-node{opacity:1!important;transform:translate(-50%,-50%)!important}
}
#modules{
  --txt:#16203a; --mut:#52607e; --dim:#8792ad;
  --line:rgba(19,32,64,.10); --line2:rgba(19,32,64,.18);
  --acc:#0fb89c; --acc-deep:#0d9c84; --acc2:#e09a2e; --acc2-deep:#c98a20;
  --ease:cubic-bezier(.22,.8,.26,1);
   
}
#modules .mcard,#modules .wf{
  --line:rgba(150,180,255,.10); --line2:rgba(150,180,255,.20);
  --txt:#e9f0ff; --mut:#93a4c4; --dim:#6c7c9e;
  --acc:#3fe0c5; --acc2:#f4b860;
  color:var(--txt);
}
#modules .hub-standalone{max-width:1000px;margin:10px auto 0;position:relative}
#modules .hub-standalone::before{
  content:"";position:absolute;inset:-2% -31%;border-radius:50%;
  background:radial-gradient(closest-side at 50% 50%,
    rgba(5,8,26,.95) 0%,
    rgba(5,8,26,.9) 35%,
    rgba(7,10,32,.82) 55%,
    rgba(9,13,40,.66) 70%,
    rgba(11,15,46,.42) 82%,
    rgba(12,17,48,.16) 93%,
    rgba(12,17,48,0) 100%);
  pointer-events:none;
}
#modules .mod-row{content-visibility:auto;contain-intrinsic-size:1200px 1100px}
#modules .orb{stroke:rgba(160,185,255,.5)}
#modules .orb.o2{stroke:rgba(160,185,255,.38)}
#modules .hline:not(.on){stroke:rgba(170,195,255,.45)}
#modules .star{background:#cfe0ff;opacity:.65}
#modules .hnode{background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit}
#modules .hnode:focus-visible{outline:2px solid var(--mc);outline-offset:3px;border-radius:12px}
#modules .mc-checks{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:10px}
#modules .mc-checks li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#c4d1ea;line-height:1.9}
#modules .mc-tick{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:5px;background:var(--t16);border:1px solid var(--t55)}
#modules .mc-tick svg{width:12px;height:12px;stroke:var(--mc);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#modules .wf{border:1px solid rgba(150,180,255,.16);border-radius:26px;overflow:hidden;margin-top:26px}
@media(max-width:640px){
#modules .hub{min-height:440px}
#modules .hub-standalone{max-width:100%}
}
#modules .mod-row{display:grid;grid-template-columns:400px minmax(0,1fr);gap:20px;align-items:stretch;margin-top:26px}
#modules .mod-row .deck{min-height:600px}
#modules .mod-row .wf{margin-top:0}
@media(max-width:1020px){
#modules .mod-row{grid-template-columns:1fr}
#modules .mod-row .deck{min-height:580px}
}
#modules .mcard.lvl1{filter:brightness(.82) saturate(.9) blur(1px)}
#modules .mcard.lvl2{filter:brightness(.62) saturate(.8) blur(2px)}
#modules .mcard.lvl1,#modules .mcard.lvl2{
  background:
    radial-gradient(420px 260px at 88% -8%,var(--t16),transparent 70%),
    radial-gradient(360px 300px at -10% 112%,rgba(34,211,238,.14),transparent 70%),
    linear-gradient(165deg,#0a323c 0%,#0d4552 55%,#10606f 100%);
  border-color:var(--w40);
}
#modules .mod-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:65px}
#modules .mod-nav .rev-arrow{border:none;background:transparent;box-shadow:none;color:#22d3ee}
#modules .mod-nav .rev-arrow:hover{background:transparent;color:#20a3b8;transform:translateY(-2px)}
#modules .mod-dots{display:flex;gap:7px}
#modules .mod-dots .rev-dot{cursor:pointer;background:rgba(100,135,180,.45)}
#modules .mod-dots .rev-dot.active{background:var(--dotc,#20a3b8)}
#modules .mod-row{align-items:start;grid-template-columns:440px minmax(0,1fr)}
#modules .mod-row .deck{height:468px;min-height:0;padding:0}
#modules .deck .mcard{inset:0}
#modules .mod-row .wf{height:468px;min-height:0;display:flex;flex-direction:column}
#modules .wf-body{flex:1;min-height:0}
#modules .hub{min-height:540px}
#modules .deck .mcard.lvl0{
  border-width:2px;
  border-color:var(--w60);
  box-shadow:
    0 0 0 1px var(--t22),
    0 0 24px -4px var(--t55),
    0 0 64px -16px var(--t42),
    0 26px 50px -26px rgba(0,0,0,.65);
}
#modules .deck .mcard.lvl0::before{height:3px;box-shadow:0 0 10px var(--mc)}
#modules .wf-body{display:grid;grid-template-columns:minmax(0,1fr) 27%;grid-auto-rows:minmax(0,1fr);gap:20px;padding:20px 24px 22px;min-height:0;overflow:hidden}
#modules .wf-main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;max-width:100%}
#modules .wf-scroll{overflow:hidden;padding:0;flex:1;display:flex;min-width:0;max-width:100%}
#modules .wf-map{min-width:0;max-width:100%;flex:1;width:100%;height:auto;min-height:340px;max-height:100%;overflow:hidden}
#modules .wf-map>svg{z-index:0}
#modules #wfSteps{z-index:2}
#modules .wstep{z-index:3}
#modules .ws-node{z-index:4}
#modules .wstep.last{z-index:5}
#modules .wstep.last .ws-node{z-index:5}
#modules .ws-txt{width:max-content;max-width:120px}
#modules .wf-list{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
#modules .wf-card{flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:center;gap:8px;background:#0c3742;border:1px solid var(--line2);border-radius:11px;padding:4px 10px;overflow:hidden;min-width:0;transition:border-color .4s,background .4s,box-shadow .4s}
#modules .wf-card b{flex:none}
#modules .wf-card b i{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(150,180,255,.08);border:1px solid var(--line2);display:grid;place-items:center;color:var(--mut);font-style:normal;font-size:12px;font-weight:800;transition:color .4s,border-color .4s}
#modules .wf-card p{font-size:11px;font-weight:500;color:#fff;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
#modules .wf-card.lit{border-color:rgba(244,184,96,.65);background:#3a2f12;box-shadow:0 0 20px -6px rgba(244,184,96,.55)}
#modules .wf-card.lit b,#modules .wf-card.lit b i{color:var(--acc2)}
#modules .wf-card.lit b i{border-color:rgba(244,184,96,.55)}
#modules .wf-card.flag.lit{border-color:rgba(63,224,197,.65);background:#10333c;box-shadow:0 0 20px -6px rgba(63,224,197,.55)}
#modules .wf-card.flag.lit b,#modules .wf-card.flag.lit b i{color:var(--acc)}
#modules .wf-card.flag.lit b i{border-color:rgba(63,224,197,.55)}
#modules .wf-dots{flex:0 0 auto;height:16px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}
#modules .wf-dots span{width:4px;height:4px;border-radius:50%;background:rgba(150,180,255,.35);flex:none;transition:background .4s,box-shadow .4s}
#modules .wf-dots.lit span{background:rgba(63,224,197,.7);box-shadow:0 0 6px var(--acc)}
@media(max-width:1020px){
#modules .wf-body{grid-template-columns:1fr}
#modules .wf-list{order:2}
#modules .mod-row .deck,#modules .mod-row .wf{height:auto}
#modules .mod-row .deck{min-height:540px}
#modules .wf-map{min-height:400px}
}
@media(max-width:760px){
#modules .mod-row .deck{min-height:520px}
#modules .wf-map{min-height:440px}
}
/* reduced motion — section-local clamp */
@media (prefers-reduced-motion: reduce){
#modules *,#modules *::before,#modules *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
#modules .wstep,#modules .ws-node{opacity:1!important;transform:translate(-50%,-50%)!important}
#modules .rv{opacity:1;transform:none}
}
