/* ==========================================================================
   ORT-TECH — מערכת עיצוב לאתר הציבורי (Option 2 · Dark premium)
   navy/black · cyan accents · Heebo · RTL · motion שמסביר תהליך
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#020812; --bg-2:#07111d; --panel:#0a1625; --panel-2:#0c1a2c;
  --navy:#071c45; --blue:#0752b8; --cyan:#04d8e8; --cyan-2:#69f3f4;
  --text:#f5f9ff; --mute:#8fa6bb; --mute-2:#6f869c;
  --line:rgba(93,211,230,.16); --line-2:rgba(120,150,180,.14);
  --glass:rgba(8,23,39,.72); --glow:rgba(0,220,235,.34);
  --red:#ff6b57;
  --font:'Heebo','Assistant','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 18px 44px rgba(0,0,0,.42);
  --shadow-glow:0 0 0 1px var(--line),0 24px 60px rgba(0,0,0,.55),0 0 60px -14px var(--glow);
  --wrap:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-ui:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.72;
  font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip;position:relative}
/* background motion: slow radial + faint technical grid + cyan halo */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 620px at 82% -6%,rgba(7,82,184,.22),transparent 60%),
    radial-gradient(900px 560px at 8% 8%,rgba(4,216,232,.10),transparent 60%),
    radial-gradient(1200px 900px at 50% 120%,rgba(7,28,69,.5),transparent 70%),
    var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:56px 56px;mask:radial-gradient(circle at 50% 30%,#000 0,transparent 78%);
  -webkit-mask:radial-gradient(circle at 50% 30%,#000 0,transparent 78%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong,b{font-weight:700}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin-inline:auto}
.g{color:var(--cyan)}
.hl{color:var(--cyan-2)}
.center{text-align:center}
::selection{background:rgba(4,216,232,.28);color:#fff}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;cursor:pointer;
  font-family:inherit;font-weight:800;padding:15px 30px;border-radius:12px;font-size:1.02rem;letter-spacing:-.01em;
  transition:transform .18s var(--ease-ui),box-shadow .18s var(--ease-ui),background .18s,border-color .18s,color .18s;white-space:nowrap}
.btn.primary{background:linear-gradient(180deg,var(--cyan-2),var(--cyan));color:#03202a;
  box-shadow:0 10px 26px -8px var(--glow),inset 0 1px 0 rgba(255,255,255,.4)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px var(--glow),inset 0 1px 0 rgba(255,255,255,.5)}
.btn.ghost{background:rgba(255,255,255,.02);color:var(--text);border:1.5px solid var(--line);backdrop-filter:blur(6px)}
.btn.ghost:hover{border-color:var(--cyan);color:#fff;background:rgba(4,216,232,.06)}
.btn.gold{background:linear-gradient(180deg,var(--cyan-2),var(--cyan));color:#03202a;box-shadow:0 10px 26px -8px var(--glow)}
.btn.gold:hover{transform:translateY(-2px)}
.btn.sm{padding:11px 20px;font-size:.92rem;border-radius:10px}
.btn.block{width:100%}
.btn svg{width:18px;height:18px}

/* ---------- header / nav (sticky glass) ---------- */
header.site{position:sticky;top:0;z-index:60;transition:background .25s,border-color .25s,box-shadow .25s;
  border-bottom:1px solid transparent}
header.site.scrolled{background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);
  border-bottom-color:var(--line);box-shadow:0 10px 30px -18px #000}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand .logo-img{height:36px;width:auto;filter:drop-shadow(0 0 1px rgba(234,246,255,.6)) drop-shadow(0 2px 12px rgba(4,216,232,.35))}
.brand .name{display:none}
.nav{display:flex;align-items:center;gap:2px}
.nav .drawer-cta{display:none}
.nav a{padding:9px 14px;border-radius:10px;font-weight:700;font-size:.95rem;color:var(--mute);white-space:nowrap;
  position:relative;transition:color .16s,background .16s}
.nav a:hover{color:#fff;background:rgba(255,255,255,.04)}
.nav a.on{color:var(--cyan)}
.nav a.on::after{content:"";position:absolute;inset-inline:15px;bottom:2px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.hdr-actions{display:flex;align-items:center;gap:10px}
.hdr-actions .login{font-weight:700;font-size:.94rem;color:var(--mute);padding:9px 12px;border-radius:10px;
  display:inline-flex;align-items:center;gap:6px;transition:color .16s,background .16s}
.hdr-actions .login:hover{color:#fff;background:rgba(255,255,255,.04)}
.hdr-actions .login svg{width:16px;height:16px}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;
  background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;align-items:center;justify-content:center;flex:none}
.nav-toggle svg{width:22px;height:22px}
/* full-screen mobile drawer */
@media(max-width:960px){
  .nav,.hdr-actions .login-text,.hdr-actions .btn{display:none}
  .nav-toggle{display:inline-flex}
  header.site.open{background:var(--glass);backdrop-filter:blur(16px);border-bottom-color:var(--line)}
  header.site .nav{position:fixed;top:74px;left:0;right:0;height:100vh;height:calc(100dvh - 74px);z-index:59;
    display:flex;flex-direction:column;align-items:stretch;
    gap:6px;padding:22px 24px;background:linear-gradient(180deg,rgba(3,10,20,.99),rgba(2,8,18,1));
    transform:translateX(110%);transition:transform .32s var(--ease);overflow-y:auto}
  header.site.open .nav{transform:none}
  header.site .nav a{padding:16px 16px;font-size:1.12rem;border-radius:12px;border:1px solid var(--line-2)}
  header.site .nav a.on::after{display:none}
  header.site .nav .drawer-cta{display:inline-flex;justify-content:center;margin-top:10px;border:none;font-size:1.05rem}
}
body.nav-locked{overflow:hidden}
/* מסכים צרים מאוד (≤400px): לוגו קומפקטי כדי למנוע גלישת ה-header */
@media(max-width:400px){
  header.site .wrap{height:66px}
  .brand .logo-img{height:29px}
  header.site .nav{top:66px;height:calc(100dvh - 66px)}
}

/* ---------- page hero (inner pages) ---------- */
.page-hero{padding:120px 0 56px;text-align:center;position:relative}
.page-hero .kick{margin-bottom:12px}
.page-hero h1{font-size:clamp(2rem,5.4vw,3.3rem);font-weight:900;line-height:1.1;letter-spacing:-1.4px}
.page-hero p{max-width:680px;margin:18px auto 0;color:var(--mute);font-size:1.12rem}

/* ---------- kicks / headings ---------- */
.kick{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.8rem;color:var(--cyan);
  letter-spacing:.14em;text-transform:none;margin-bottom:14px}
.kick::before{content:"";width:22px;height:1.5px;background:linear-gradient(90deg,var(--cyan),transparent);display:inline-block}
h2{font-size:clamp(1.8rem,4.4vw,2.9rem);font-weight:900;line-height:1.14;letter-spacing:-1.1px}
.sub{color:var(--mute);margin-top:16px;font-size:1.08rem;line-height:1.7}
.sec-head{margin-bottom:44px;max-width:900px}
.sec-head.ctr{text-align:center;margin-inline:auto;margin-bottom:52px}
.sec-head.ctr .kick{justify-content:center}

/* ---------- sections ---------- */
section{padding:92px 0;position:relative}
.band{background:linear-gradient(180deg,var(--bg-2),rgba(10,22,37,.5));border-block:1px solid var(--line)}
.band-ink{background:var(--panel);border-block:1px solid var(--line)}

/* ---------- HERO (home) ---------- */
.hero{padding:132px 0 84px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:38px}}
.hero-copy{max-width:600px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(4,216,232,.08);border:1px solid var(--line);
  color:var(--cyan-2);font-weight:700;font-size:.86rem;padding:7px 15px;border-radius:999px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);
  animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.hero h1{font-size:clamp(2.3rem,6.2vw,4.15rem);font-weight:900;line-height:1.08;letter-spacing:-2px;margin:22px 0 0}
.hero h1 .l1{display:block;color:var(--text)}
.hero h1 .l2{display:block;background:linear-gradient(100deg,var(--cyan-2),var(--cyan) 55%,var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{max-width:560px;margin:24px 0 0;font-size:clamp(1.05rem,2.2vw,1.22rem);color:var(--mute)}
.hero .lead b{color:var(--text);font-weight:700}
.cta-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.under-cta{margin-top:18px;font-size:.9rem;color:var(--mute-2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.under-cta .sep{width:4px;height:4px;border-radius:50%;background:var(--cyan);opacity:.6}

/* hero transformation diagram */
.hero-visual{position:relative;min-height:440px}
@media(max-width:960px){.hero-visual{min-height:360px;order:2}.hero-copy{order:1}}
.diagram{position:relative;width:100%;height:100%;min-height:440px;direction:ltr}
.diagram svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.src-label{position:absolute;direction:rtl;display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;
  color:var(--mute);background:rgba(10,22,37,.8);border:1px solid var(--line-2);border-radius:9px;padding:6px 11px;
  backdrop-filter:blur(4px);white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.src-label.in{opacity:1;transform:none}
.src-label i{width:6px;height:6px;border-radius:50%;background:var(--mute-2)}
.dash{position:absolute;border-radius:16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);box-shadow:var(--shadow-glow)}
.dash-main{left:0;top:8%;width:66%;height:76%;padding:14px;direction:rtl;
  animation:dashIn 1.1s var(--ease) .55s both}
@keyframes dashIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dash-title{font-size:.8rem;font-weight:800;color:var(--text)}
.dash-title small{display:block;color:var(--mute-2);font-weight:600;font-size:.68rem}
.dash-dots{display:flex;gap:5px}.dash-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);border:1px solid var(--line)}
.dash-dots i:first-child{background:var(--cyan);border-color:var(--cyan)}
.dash-mods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.dmod{background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;
  opacity:.35;transition:opacity .5s var(--ease),border-color .5s,box-shadow .5s}
.dmod.lit{opacity:1;border-color:var(--line);box-shadow:0 0 18px -8px var(--glow)}
.dmod b{font-size:.72rem;font-weight:800;color:var(--text);display:block}
.dmod span{font-size:.6rem;color:var(--mute-2)}
.dmod .bar{height:5px;border-radius:3px;background:rgba(4,216,232,.18);margin-top:7px;overflow:hidden}
.dmod .bar::after{content:"";display:block;height:100%;width:60%;background:linear-gradient(90deg,var(--cyan),var(--cyan-2))}
.dash-chart{height:74px;border:1px solid var(--line-2);border-radius:10px;background:rgba(255,255,255,.02);position:relative;overflow:hidden}
.dash-chart svg{position:absolute;inset:0}
.gateway-tag{position:absolute;inset-inline-end:2%;top:44%;font-size:.66rem;font-weight:800;color:var(--cyan);
  letter-spacing:.1em;writing-mode:vertical-rl;opacity:.75}
/* signal flow along connectors + chart draw */
.conns path{stroke-dasharray:3.5 9;animation:sig 2.6s linear infinite}
.conns path:nth-child(2){animation-delay:.6s}
.conns path:nth-child(3){animation-delay:1.2s}
.conns path:nth-child(4){animation-delay:1.8s}
@keyframes sig{to{stroke-dashoffset:-25}}
.chartline{stroke-dasharray:640;stroke-dashoffset:640;animation:draw 1.5s var(--ease) 2.2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* stat strip (real, non-fabricated qualitative markers) */
.strip{border-block:1px solid var(--line);background:rgba(7,17,29,.5)}
.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@media(max-width:760px){.strip .wrap{grid-template-columns:1fr}}
.strip .item{padding:30px 26px;text-align:center;border-inline-start:1px solid var(--line-2)}
.strip .item:first-child{border-inline-start:none}
@media(max-width:760px){.strip .item{border-inline-start:none;border-top:1px solid var(--line-2)}.strip .item:first-child{border-top:none}}
.strip .item b{display:block;font-size:1.16rem;font-weight:900;color:var(--text);letter-spacing:-.4px}
.strip .item small{display:block;color:var(--mute);font-size:.9rem;margin-top:5px;line-height:1.5}

/* ---------- credibility bar (kept, dark) ---------- */
.credbar{margin:46px auto 0;max-width:1000px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;box-shadow:var(--shadow)}
.credbar div{padding:24px 22px;text-align:center;border-inline-start:1px solid var(--line-2)}
.credbar div:first-child{border-inline-start:none}
.credbar b{display:block;font-size:1.02rem;font-weight:900;margin-bottom:4px;color:var(--text)}
.credbar small{color:var(--mute);font-size:.88rem;line-height:1.55;display:block}
@media(max-width:700px){.credbar{grid-template-columns:1fr}
  .credbar div{border-inline-start:none;border-top:1px solid var(--line-2);text-align:right}
  .credbar div:first-child{border-top:none}}

/* ---------- generic cards ---------- */
.cards{display:grid;gap:16px}
.cards.c2{grid-template-columns:1fr 1fr}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.cards.c3,.cards.c4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cards.c2,.cards.c3,.cards.c4{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 26px;
  position:relative;overflow:hidden;transition:border-color .2s,transform .2s var(--ease-ui),box-shadow .2s}
.card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,216,232,.05),transparent 40%);opacity:0;transition:opacity .2s}
.card:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 22px 44px -20px #000,0 0 40px -18px var(--glow)}
.card:hover::before{opacity:1}
.card .ico{width:48px;height:48px;border-radius:12px;background:rgba(4,216,232,.1);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--cyan);margin-bottom:16px}
.card .ico svg{width:24px;height:24px}
.card h3{font-size:1.2rem;font-weight:900;margin-bottom:8px;color:var(--text)}
.card p{color:var(--mute);font-size:1rem}
.card .more{margin-top:14px;font-weight:800;font-size:.9rem;color:var(--cyan);display:inline-flex;align-items:center;gap:6px}

/* ---------- modules (what we do) — asymmetric ---------- */
.modules{display:grid;grid-template-columns:1.35fr 1fr;grid-auto-rows:minmax(0,auto);gap:16px}
@media(max-width:900px){.modules{grid-template-columns:1fr}}
.mod{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 30px;position:relative;
  overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease-ui)}
.mod:hover{border-color:var(--cyan);box-shadow:0 0 44px -20px var(--glow);transform:translateY(-2px)}
.mod .ix{font-size:.74rem;font-weight:900;color:var(--cyan);letter-spacing:.16em}
.mod h3{font-size:1.32rem;font-weight:900;margin:8px 0 10px;color:var(--text);letter-spacing:-.5px}
.mod p{color:var(--mute);font-size:1rem}
.mod.feature{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(160deg,var(--panel-2),var(--panel));min-height:280px}
.mod.feature h3{font-size:1.7rem}
.mod.feature .viz-workflow{margin-top:24px}
.mod-strip{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.mod-strip{grid-template-columns:1fr}}

/* כניסת כרטיסי השירות: opacity + translateY + scale עדין (משתמש ב-transition הקיים של .reveal) */
.mod.reveal{transform:translateY(24px) scale(.985)}
.mod.reveal.in{transform:none}

/* ===== Service micro-animations (same visual language as card 01) ===== */
.viz{margin-top:20px;position:relative;width:100%}
.viz svg{width:100%;height:100%;display:block;overflow:visible}
/* perf: כל אנימציה רצה רק כשהכרטיס נכנס ל-viewport (ומושהית מחוצה לו) */
.mod:not(.in) .viz *{animation-play-state:paused}

/* 01 — תכנון תהליכי עבודה: נקודת אור מימין → שלבים → תוצאה; הקו מאחוריה נצבע, ובסוף המסלול כולו זוהר */
.viz-workflow{--wf:6s;height:84px}
.w-rail{stroke:var(--line-2);stroke-width:2;stroke-linecap:round}
.w-fill{stroke:var(--cyan);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260;
  filter:drop-shadow(0 0 4px var(--glow));animation:wfFill var(--wf) var(--ease) infinite}
@keyframes wfFill{0%{stroke-dashoffset:260;opacity:0}8%{stroke-dashoffset:260;opacity:1}
  68%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:0;opacity:1}97%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:260;opacity:0}}
.w-flash{stroke:var(--cyan-2);stroke-width:3;stroke-linecap:round;opacity:0;
  filter:drop-shadow(0 0 7px var(--cyan));animation:wfFlash var(--wf) var(--ease) infinite}
@keyframes wfFlash{0%,66%{opacity:0}74%{opacity:.85}84%{opacity:0}100%{opacity:0}}
.w-node{fill:var(--panel);stroke:var(--line-2);stroke-width:1.6px;transform-box:fill-box;transform-origin:center;
  animation:wfNode var(--wf) var(--ease) infinite;animation-delay:calc(var(--wf)*.08 + var(--p)*var(--wf)*.6)}
@keyframes wfNode{
  0%{fill:var(--panel);stroke:var(--line-2);filter:none;transform:scale(1)}
  5%{fill:var(--cyan);stroke:var(--cyan);filter:drop-shadow(0 0 6px var(--glow));transform:scale(1.18)}
  16%{fill:var(--panel-2);stroke:var(--cyan);filter:none;transform:scale(1)}
  84%{fill:var(--panel-2);stroke:var(--cyan);filter:none;transform:scale(1)}
  100%{fill:var(--panel);stroke:var(--line-2);filter:none;transform:scale(1)}}
.w-check{stroke:var(--cyan-2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;
  animation:wfCheck var(--wf) var(--ease) infinite}
@keyframes wfCheck{0%,66%{stroke-dashoffset:20}74%{stroke-dashoffset:0}96%{stroke-dashoffset:0}100%{stroke-dashoffset:20}}
.w-light{fill:var(--cyan-2);filter:drop-shadow(0 0 6px var(--cyan));offset-path:path("M280 42 L20 42");offset-rotate:0deg;
  animation:wfLight var(--wf) var(--ease) infinite}
@keyframes wfLight{0%,8%{offset-distance:0%;opacity:0}12%{opacity:1}64%{offset-distance:100%;opacity:1}
  70%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}

/* 02 — מסע לקוח: נקודת אור עוברת בין תחנות (RTL: ליד מימין → חוזר משמאל), התחנה הפעילה גדלה, הקודמות נשארות דולקות חלש */
.viz-journey{--jc:6s;height:60px;display:flex;align-items:center}
.j-track{position:relative;width:100%;height:12px;display:flex;align-items:center;justify-content:space-between}
.j-track::before{content:"";position:absolute;inset-inline:6px;top:50%;height:2px;transform:translateY(-50%);
  background:repeating-linear-gradient(90deg,var(--line-2) 0 7px,transparent 7px 13px)}
.j-node{width:11px;height:11px;border-radius:50%;background:var(--panel);border:1.5px solid var(--line-2);flex:none;
  position:relative;z-index:2;animation:jNode var(--jc) var(--ease) infinite;animation-delay:calc(var(--n)*var(--jc)*.15)}
@keyframes jNode{
  0%{background:var(--panel);border-color:var(--line-2);box-shadow:none;transform:scale(1)}
  3%{background:var(--cyan-2);border-color:var(--cyan);box-shadow:0 0 12px var(--glow);transform:scale(1.5)}
  12%{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 5px var(--glow);transform:scale(1.12)}
  86%{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 5px var(--glow);transform:scale(1.12)}
  100%{background:var(--panel);border-color:var(--line-2);box-shadow:none;transform:scale(1)}}
.j-pulse{position:absolute;top:50%;inset-inline-start:0;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;
  background:var(--cyan-2);box-shadow:0 0 12px var(--cyan);animation:jMove var(--jc) var(--ease) infinite}
@keyframes jMove{0%{inset-inline-start:3%;opacity:0}2%{opacity:1}3%{inset-inline-start:3%}
  18%{inset-inline-start:21.6%}33%{inset-inline-start:40.2%}48%{inset-inline-start:58.8%}
  63%{inset-inline-start:77.4%}75%{inset-inline-start:97%;opacity:1}80%{inset-inline-start:97%;opacity:0}
  100%{inset-inline-start:97%;opacity:0}}

/* 03 — מערכות מותאמות: ה-Core פועם ושולח אות אחד בכל פעם ל-Node אחר ברצף; ה-Node נדלק בהגעה */
.viz-modular{--cyc:6.9s;height:98px}
.m-core{fill:var(--panel-2);stroke:var(--cyan);stroke-width:1.3px;transform-box:fill-box;transform-origin:center;
  animation:mCore calc(var(--cyc)/3) var(--ease) infinite}
@keyframes mCore{0%,100%{filter:none;stroke:var(--cyan)}50%{filter:drop-shadow(0 0 6px var(--glow));stroke:var(--cyan-2)}}
.m-links line{opacity:.45}
.m-mod{fill:var(--panel);stroke:var(--line);stroke-width:1px;transform-box:fill-box;transform-origin:center;
  animation:mMod var(--cyc) var(--ease) infinite;animation-delay:calc(var(--k)*var(--cyc)/6)}
@keyframes mMod{0%,8%{fill:var(--panel);stroke:var(--line);filter:none}
  11%{fill:var(--panel-2);stroke:var(--cyan-2);filter:drop-shadow(0 0 6px var(--glow))}
  17%{fill:var(--panel-2);stroke:var(--cyan);filter:drop-shadow(0 0 2px var(--glow))}
  90%{fill:var(--panel-2);stroke:var(--cyan);filter:none}
  100%{fill:var(--panel);stroke:var(--line);filter:none}}
.m-sig{opacity:0;animation:mSig var(--cyc) var(--ease) infinite;animation-delay:calc(var(--k)*var(--cyc)/6)}
@keyframes mSig{0%{transform:translate(0,0);opacity:0}1.5%{opacity:1}
  10%{transform:translate(var(--dx),var(--dy));opacity:1}12%{transform:translate(var(--dx),var(--dy));opacity:0}
  100%{transform:translate(var(--dx),var(--dy));opacity:0}}

/* 04 — אוטומציות ואינטגרציות: packet יחיד יוצא מהמרכז ל-service וחוזר (request→response); בהגעה — pulse + טבעת. בכל מחזור connection אחר */
.viz-network{--cyc:6.9s;height:106px}
.n-core{fill:var(--panel-2);stroke:var(--cyan);stroke-width:1.6px;transform-box:fill-box;transform-origin:center;
  animation:nCore calc(var(--cyc)/3) var(--ease) infinite}
@keyframes nCore{0%,100%{filter:none}50%{filter:drop-shadow(0 0 7px var(--glow))}}
.n-edges line{opacity:.45}
.n-sat{transform-box:fill-box;transform-origin:center;animation:nSat var(--cyc) var(--ease) infinite;animation-delay:calc(var(--k)*var(--cyc)/6)}
@keyframes nSat{0%,7%{fill:var(--panel-2);stroke:var(--cyan);filter:none;transform:scale(1)}
  9%{fill:var(--panel-2);stroke:var(--cyan-2);filter:drop-shadow(0 0 7px var(--glow));transform:scale(1.18)}
  17%{transform:scale(1)}22%{fill:var(--panel-2);stroke:var(--cyan);filter:none}
  100%{fill:var(--panel-2);stroke:var(--cyan);filter:none;transform:scale(1)}}
.n-ring{opacity:0;transform-box:fill-box;transform-origin:center;animation:nRing var(--cyc) var(--ease) infinite;animation-delay:calc(var(--k)*var(--cyc)/6)}
@keyframes nRing{0%,7%{opacity:0;transform:scale(.5)}9%{opacity:.75;transform:scale(1)}17%{opacity:0;transform:scale(1.7)}100%{opacity:0;transform:scale(1.7)}}
.n-pulse{opacity:0;animation:nPulse var(--cyc) var(--ease) infinite;animation-delay:calc(var(--k)*var(--cyc)/6)}
@keyframes nPulse{0%{transform:translate(0,0);opacity:0}1.5%{opacity:1}
  8%{transform:translate(var(--dx),var(--dy));opacity:1}9%{opacity:.85}
  15.5%{transform:translate(0,0);opacity:1}16.667%{transform:translate(0,0);opacity:0}
  100%{transform:translate(0,0);opacity:0}}

/* 05 — בקרה ונתונים: עמודות עולות ב-stagger, קו נמשך משמאל לימין, נקודת קצה פועמת */
.viz-data{height:106px}
.d-bar{transform-box:fill-box;transform-origin:bottom;opacity:.85;animation:dBar 4.4s var(--ease) infinite;animation-delay:calc(var(--i)*.18s)}
@keyframes dBar{0%{transform:scaleY(.14);opacity:.35}26%{transform:scaleY(1);opacity:.9}80%{transform:scaleY(1);opacity:.9}100%{transform:scaleY(.14);opacity:.35}}
.d-chart{stroke-dasharray:360;stroke-dashoffset:360;animation:dDraw 4.4s var(--ease) infinite}
@keyframes dDraw{0%,10%{stroke-dashoffset:360}46%{stroke-dashoffset:0}86%{stroke-dashoffset:0}100%{stroke-dashoffset:360}}
.d-alert{transform-box:fill-box;transform-origin:center;animation:dAlert 2s var(--ease) infinite}
@keyframes dAlert{0%,100%{opacity:.35;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}

/* Hover — Desktop בלבד: הגרפיקה עולה מעט וה-glow מתחזק (בלי scale גדול / Layout Shift) */
@media(hover:hover) and (pointer:fine){
  .mod .viz{transition:transform .25s var(--ease-ui),filter .25s var(--ease-ui)}
  .mod:hover .viz{transform:translateY(-3px);filter:drop-shadow(0 0 10px var(--glow))}
  .mod:hover{box-shadow:0 0 60px -18px var(--glow)}
}
/* Mobile: אותה משמעות, תנועה עדינה יותר — מאיטים ~15% (בסנכרון) ומחלישים glow */
@media(max-width:600px){
  .viz{--glow:rgba(0,220,235,.2)}
  .viz-workflow{--wf:7s}
  .viz-modular,.viz-network{--cyc:7.9s}
  .viz-journey{--jc:6.9s}
}

/* reduced-motion: עוצרים לולאות ומציגים מצב סופי סטטי וקריא */
@media(prefers-reduced-motion:reduce){
  .viz *{animation:none!important}
  .w-fill{stroke-dashoffset:0;opacity:1}.w-flash{opacity:0}.w-light{display:none}
  .w-node{fill:var(--panel-2);stroke:var(--cyan);transform:none}.w-check{stroke-dashoffset:0}
  .j-pulse{display:none}.j-node{background:var(--cyan);border-color:var(--cyan);transform:none}
  .m-sig{display:none}.m-mod{fill:var(--panel-2);stroke:var(--cyan);filter:none}.m-links line{opacity:.45}
  .n-pulse,.n-ring{display:none}.n-sat{stroke:var(--cyan);transform:none}
  .d-bar{transform:none;opacity:.9}.d-chart{stroke-dashoffset:0}.d-alert{opacity:.7}
}

/* ---------- method timeline ---------- */
.method{position:relative;max-width:1080px;margin:0 auto}
.method-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2}
.method::before{content:"";position:absolute;top:26px;inset-inline:8%;height:2px;background:var(--line-2);z-index:1}
.method .progress{content:"";position:absolute;top:26px;inset-inline-start:8%;height:2px;width:0;z-index:1;
  background:linear-gradient(90deg,var(--cyan),var(--cyan-2));box-shadow:0 0 12px var(--glow);transition:width 1.1s var(--ease)}
.mstep{text-align:center}
.mnode{width:54px;height:54px;margin:0 auto 16px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line);
  display:grid;place-items:center;font-weight:900;font-size:1.1rem;color:var(--mute);position:relative;z-index:2;
  transition:border-color .4s,color .4s,box-shadow .4s,background .4s}
.mstep.on .mnode{border-color:var(--cyan);color:#03202a;background:linear-gradient(180deg,var(--cyan-2),var(--cyan));
  box-shadow:0 0 30px -6px var(--glow)}
.mstep h4{font-size:1.12rem;font-weight:900;color:var(--text)}
.mstep p{color:var(--mute);font-size:.96rem;margin-top:6px}
@media(max-width:820px){
  .method-track{grid-template-columns:1fr;gap:0}
  .method::before{inset:26px auto 26px 26px;width:2px;height:auto;inset-inline-start:26px;top:0;bottom:0}
  .method .progress{width:2px!important;height:0;inset:0 auto auto 26px;inset-inline-start:26px;transition:height 1.1s var(--ease)}
  .mstep{display:grid;grid-template-columns:54px 1fr;column-gap:16px;row-gap:4px;text-align:right;align-items:start;padding:16px 0}
  .mstep .mnode{grid-column:1;grid-row:1 / span 2;margin:0}
  .mstep h4{grid-column:2;align-self:center}
  .mstep p{grid-column:2;margin-top:0}
}

/* ---------- business flow ---------- */
.flow{max-width:760px;margin:0 auto;display:grid;gap:0}
.fnode{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:stretch;position:relative}
.fnode .rail{display:flex;flex-direction:column;align-items:center}
.fnode .fdot{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;color:var(--mute);
  background:var(--panel);border:1.5px solid var(--line);transition:all .4s var(--ease);z-index:2}
.fnode .fdot svg{width:20px;height:20px}
.fnode .fline{width:2px;flex:1;background:var(--line-2);margin:4px 0;min-height:22px}
.fnode:last-child .fline{display:none}
.fnode .fbody{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:14px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;transition:border-color .4s,box-shadow .4s,transform .4s var(--ease)}
.fnode.on .fbody{border-color:var(--line);box-shadow:0 0 34px -20px var(--glow)}
.fnode.on .fdot{border-color:var(--cyan);color:#03202a;background:linear-gradient(180deg,var(--cyan-2),var(--cyan));box-shadow:0 0 22px -6px var(--glow)}
.fnode.auto.on .fdot{background:linear-gradient(180deg,var(--cyan-2),var(--cyan))}
.fnode .fbody b{font-size:1.04rem;font-weight:800;color:var(--text)}
.fnode .fbody .meta{font-size:.78rem;color:var(--mute-2);margin-top:2px;display:block;font-weight:600}
.ftag{font-size:.7rem;font-weight:800;padding:4px 11px;border-radius:999px;white-space:nowrap;flex:none}
.ftag.autotag{background:rgba(4,216,232,.12);color:var(--cyan-2);border:1px solid var(--line)}
.ftag.human{background:rgba(120,150,180,.12);color:var(--mute);border:1px solid var(--line-2)}

/* ---------- journey rail (kept) ---------- */
.rail{position:relative;margin:0 auto;max-width:960px}
.rail-track{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;z-index:2}
.stop{text-align:center}
.stop .dot{width:46px;height:46px;margin:0 auto 14px;border-radius:14px;background:var(--panel);
  border:1.5px solid var(--cyan);color:var(--cyan);display:grid;place-items:center;box-shadow:0 0 22px -8px var(--glow)}
.stop .dot svg{width:22px;height:22px}
.stop b{display:block;font-size:.96rem;font-weight:900;color:var(--text)}
.stop small{display:block;color:var(--mute);font-size:.82rem;line-height:1.45;margin-top:3px}
.rail::before{content:"";position:absolute;top:23px;right:9%;left:9%;height:2px;
  background:repeating-linear-gradient(90deg,var(--cyan) 0 9px,transparent 9px 17px);opacity:.4;z-index:1}
@media(max-width:720px){.rail-track{grid-template-columns:1fr;gap:0;text-align:right}.rail::before{display:none}
  .stop{display:flex;gap:14px;align-items:center;text-align:right;padding:14px 0;border-bottom:1px dashed var(--line-2)}
  .stop:last-child{border-bottom:none}.stop .dot{margin:0;flex:none}}

/* ---------- pains ---------- */
.pains{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:940px;margin-inline:auto}
@media(max-width:780px){.pains{grid-template-columns:1fr}}
.pain{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;
  display:flex;gap:14px;align-items:flex-start}
.pain .q{flex:none;width:28px;height:28px;border-radius:9px;background:rgba(255,107,87,.12);color:var(--red);
  display:grid;place-items:center;font-weight:900;margin-top:2px}
.pain p{font-size:1rem;line-height:1.6;color:var(--mute)}
.verdict{margin-top:36px;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);
  border-radius:18px;padding:34px;text-align:center;box-shadow:0 0 60px -30px var(--glow)}
.verdict p{font-size:clamp(1.1rem,2.6vw,1.44rem);font-weight:700;line-height:1.55;max-width:720px;margin:0 auto;color:var(--text)}
.verdict p em{font-style:normal;color:var(--cyan)}

/* ---------- pillars (services) ---------- */
.pillars{display:grid;gap:18px}
.pillar{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);transition:border-color .2s,box-shadow .2s}
.pillar:hover{border-color:var(--cyan);box-shadow:0 0 50px -26px var(--glow)}
@media(max-width:820px){.pillar{grid-template-columns:1fr}}
.pillar .body{padding:32px 34px}
.pillar .num{font-size:.8rem;font-weight:900;color:var(--cyan);letter-spacing:.16em}
.pillar h3{font-size:1.46rem;font-weight:900;margin:8px 0 12px;letter-spacing:-.5px;color:var(--text)}
.pillar p{color:var(--mute);font-size:1.02rem}
.compare{background:rgba(255,255,255,.02);padding:28px 30px;display:flex;flex-direction:column;justify-content:center;gap:14px;
  border-inline-start:1px solid var(--line-2)}
@media(max-width:820px){.compare{border-inline-start:none;border-top:1px solid var(--line-2)}}
.cmp{display:flex;gap:12px;align-items:flex-start}
.cmp .lbl{flex:none;font-size:.72rem;font-weight:900;padding:3px 11px;border-radius:999px;margin-top:3px}
.cmp.before .lbl{background:rgba(255,107,87,.14);color:var(--red)}
.cmp.after .lbl{background:rgba(4,216,232,.14);color:var(--cyan)}
.cmp span{font-size:.98rem;line-height:1.55}.cmp.before span{color:var(--mute-2)}.cmp.after span{font-weight:700;color:var(--text)}

/* ---------- about + reservist seal (restrained) ---------- */
.about{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:40px 42px;
  max-width:900px;margin:0 auto;box-shadow:var(--shadow)}
@media(max-width:600px){.about{padding:28px 24px}}
.about h2{margin-bottom:16px}
.about p{color:var(--mute);font-size:1.06rem;margin-bottom:16px}.about p:last-child{margin-bottom:0}
.about .pullout{border-inline-start:3px solid var(--cyan);background:rgba(4,216,232,.06);padding:16px 20px;
  border-radius:0 12px 12px 0;font-weight:700;color:var(--text);font-size:1.04rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
@media(max-width:600px){.duo{grid-template-columns:1fr}}
.duo div{background:rgba(255,255,255,.02);border:1px solid var(--line-2);border-radius:14px;padding:18px 20px}
.duo b{display:block;font-size:.98rem;font-weight:900;margin-bottom:4px;color:var(--text)}
.duo small{color:var(--mute);font-size:.92rem;line-height:1.55;display:block}
.about-head{display:flex;gap:26px;align-items:center;margin-bottom:20px}
.about-head h2{margin-bottom:0}
@media(max-width:560px){.about-head{flex-direction:column;text-align:center;gap:16px}}
.mil-seal{position:relative;width:106px;height:106px;border-radius:16px;flex:none;display:grid;place-items:center;
  background:linear-gradient(160deg,var(--panel-2),var(--navy));border:1px solid var(--line);color:var(--cyan-2);
  box-shadow:0 0 40px -14px var(--glow)}
.mil-seal .core{text-align:center;z-index:2;padding:0 8px}
.mil-seal .core svg{width:24px;height:24px;margin:0 auto 5px;display:block;color:var(--cyan)}
.mil-seal .core b{display:block;font-size:.78rem;font-weight:900;line-height:1.15;color:var(--text)}
.mil-seal .core small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.06em;opacity:.8;margin-top:2px;color:var(--mute)}

/* ---------- not-list ---------- */
.nots{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:900px;margin:0 auto}
@media(max-width:700px){.nots{grid-template-columns:1fr}}
.not{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;gap:13px}
.not .x{flex:none;color:var(--red);font-weight:900;font-size:1.05rem;line-height:1.6}
.not b{display:block;color:var(--text)}.not small{color:var(--mute);font-size:.93rem;line-height:1.55;display:block;margin-top:2px}

/* ---------- steps ---------- */
.steps{max-width:880px;margin:0 auto;display:grid;gap:12px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 26px;
  display:flex;gap:18px;align-items:flex-start;transition:border-color .2s}
.step:hover{border-color:var(--cyan)}
.step .n{flex:none;width:42px;height:42px;border-radius:12px;background:rgba(4,216,232,.1);color:var(--cyan);
  border:1px solid var(--line);display:grid;place-items:center;font-weight:900;font-size:1rem}
.step h4{font-size:1.14rem;font-weight:900;color:var(--text)}
.step p{color:var(--mute);font-size:.99rem;margin-top:3px}
.step .out{display:inline-block;margin-top:10px;font-size:.83rem;font-weight:700;color:var(--cyan);
  background:rgba(4,216,232,.1);border:1px solid var(--line);padding:4px 12px;border-radius:999px}

/* ---------- sectors ---------- */
.sectors{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}
.sec-chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:10px 20px;
  font-size:.95rem;font-weight:600;color:var(--text);transition:border-color .18s,background .18s,color .18s}
.sec-chip:hover{border-color:var(--cyan);color:#fff;background:rgba(4,216,232,.06)}

/* ---------- portal / client login (kept) ---------- */
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:0 auto}
@media(max-width:820px){.portal-grid{grid-template-columns:1fr}}
.sys-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}
.sys-card:hover{transform:translateY(-3px);border-color:var(--cyan);box-shadow:0 0 44px -22px var(--glow)}
.sys-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sys-card .logo{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--cyan);
  background:rgba(4,216,232,.1);border:1px solid var(--line)}
.sys-card .live{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;color:var(--cyan);
  background:rgba(4,216,232,.1);padding:4px 10px;border-radius:999px}
.sys-card .live i{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:pulse 2s var(--ease) infinite}
.sys-card h3{font-size:1.24rem;font-weight:900;margin-bottom:6px;color:var(--text)}
.sys-card p{color:var(--mute);font-size:.96rem;flex:1;margin-bottom:18px}
.sys-card .btn{width:100%}
.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:760px;margin:0 auto 44px}
@media(max-width:600px){.portal-stats{grid-template-columns:1fr}}
.pstat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center}
.pstat b{display:block;font-size:1.9rem;font-weight:900;color:var(--cyan);line-height:1}
.pstat small{display:block;color:var(--mute);font-size:.9rem;margin-top:6px}

/* ---------- lead form ---------- */
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:42px 44px;
  max-width:720px;margin:0 auto;box-shadow:var(--shadow-glow)}
@media(max-width:600px){.form-card{padding:28px 22px}}
.form-card h2{text-align:center}
.form-card .sub{text-align:center;margin:12px auto 8px;max-width:520px}
.promise{background:rgba(4,216,232,.07);border:1px solid var(--line);color:var(--cyan-2);border-radius:14px;
  padding:14px 18px;font-size:.95rem;font-weight:700;text-align:center;margin:22px 0 26px;line-height:1.55}
.field{margin-bottom:15px}
.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:7px;color:var(--text)}
.field label b{color:var(--cyan)}
.field input,.field textarea{width:100%;background:var(--bg-2);border:1.5px solid var(--line-2);border-radius:12px;
  padding:14px 16px;color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .16s,box-shadow .16s,background .16s}
.field input::placeholder,.field textarea::placeholder{color:var(--mute-2)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--cyan);background:var(--panel);box-shadow:0 0 0 4px rgba(4,216,232,.12)}
.field input.invalid,.field textarea.invalid{border-color:#ff6b6b}
.field input.invalid:focus,.field textarea.invalid:focus{border-color:#ff6b6b;box-shadow:0 0 0 4px rgba(255,107,107,.14)}
.field .field-err{color:#ff6b6b;font-size:.82rem;margin-top:6px;font-weight:600}
.field .field-err:empty{display:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.form-card .btn{width:100%;margin-top:10px;padding:17px;font-size:1.08rem}
.form-note{text-align:center;color:var(--mute-2);font-size:.85rem;margin-top:14px}
.ok-box{display:none;text-align:center;padding:22px 6px}
.ok-box .big{font-size:2.6rem;line-height:1;color:var(--cyan)}
.ok-box h3{font-size:1.5rem;font-weight:900;margin:12px 0 8px;color:var(--text)}
.ok-box p{color:var(--mute)}
.ok-box .ok-wa{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.35);color:var(--text);font-weight:600}

/* ---------- final CTA band ---------- */
.cta-band{background:linear-gradient(160deg,var(--panel-2),var(--bg-2));border-block:1px solid var(--line);
  text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0,var(--glow),transparent 60%);opacity:.5}
.cta-band .wrap{position:relative}
.cta-band h2{color:#fff}
.cta-band p{color:var(--mute);max-width:600px;margin:16px auto 28px;font-size:1.1rem}
.cta-band .micro{margin-top:16px;color:var(--mute-2);font-size:.9rem}

/* ---------- footer ---------- */
footer.site{background:var(--bg-2);border-top:1px solid var(--line);color:var(--mute);padding:56px 0 34px;font-size:.95rem}
footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;margin-bottom:32px}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{color:#fff;font-weight:900;font-size:1rem;margin-bottom:14px}
footer.site .fbrand{margin-bottom:14px}
footer.site .fbrand .logo-img{height:30px;width:auto}
footer.site .fdesc{color:var(--mute);max-width:340px;line-height:1.7}
footer.site ul{list-style:none;display:grid;gap:9px}
footer.site a{color:var(--mute)}
footer.site a:hover{color:var(--cyan)}
footer.site .fbadge{display:inline-flex;align-items:center;gap:8px;background:rgba(4,216,232,.08);color:var(--cyan-2);
  border:1px solid var(--line);font-weight:800;font-size:.82rem;padding:6px 12px;border-radius:999px;margin-top:16px}
footer.site .fbadge svg{width:15px;height:15px}
footer.site .fbot{border-top:1px solid var(--line-2);padding-top:22px;display:flex;flex-wrap:wrap;
  gap:10px;justify-content:space-between;align-items:center;color:var(--mute-2);font-size:.86rem}

/* ---------- floating whatsapp ---------- */
.wa-float{position:fixed;bottom:22px;left:22px;z-index:80;width:56px;height:56px;border-radius:16px;
  background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(37,211,102,.5);transition:transform .16s}
.wa-float:hover{transform:translateY(-3px) scale(1.04)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media(max-width:520px){.wa-float{width:52px;height:52px;bottom:16px;left:16px}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.07s}.reveal[data-d="2"]{transition-delay:.14s}
.reveal[data-d="3"]{transition-delay:.21s}.reveal[data-d="4"]{transition-delay:.28s}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .src-label{opacity:1;transform:none}
  .dmod{opacity:1}
  .method .progress{width:84%!important}
  .mstep .mnode{border-color:var(--cyan)}
  .conns path{animation:none}
  .chartline{stroke-dashoffset:0;animation:none}
  .dash-main{animation:none;opacity:1;transform:none}
}
