/* =====================================================================
   EWS Public Pages — v2.0.0
   Homepage, register, login and forgot-password. Same design language
   as the EWS dashboard v2 and the Insights Hub.
   ===================================================================== */

.ewsp{
  --ink:#0b2238; --ink-2:#12324d; --ink-3:#1b4566;
  --text:#14293c; --muted:#5f7386; --faint:#8a9bab;
  --line:#e2e9ef; --line-2:#edf2f6;
  --canvas:#f2f5f8; --card:#fff; --soft:#f7fafc;
  --teal:#1ba9be; --teal-2:#36cad2; --teal-ink:#0a7f93; --teal-soft:#e7f7fa;
  --good:#22a06b; --good-soft:#e8f7ef;
  --fair:#d4930f; --fair-soft:#fdf4e1;
  --warn:#e2702a; --warn-soft:#fdeee4;
  --bad:#d14343;  --bad-soft:#fcebeb;
  --dk-text:#dbe8f1; --dk-muted:#a9c4d6;
  --r-xl:28px; --r-lg:22px; --r-md:16px; --r-sm:12px;
  --shadow:0 1px 2px rgba(11,34,56,.04),0 8px 24px rgba(11,34,56,.06);
  --shadow-lg:0 2px 6px rgba(11,34,56,.06),0 24px 50px rgba(11,34,56,.12);
  --font:"IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  --admin:var(--wp-admin--admin-bar--height,0px);
  font-family:var(--font); color:var(--text); font-size:15px; line-height:1.7;
  background:var(--canvas); -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums;
  overflow-x:clip; box-sizing:border-box;
}
.ewsp *,.ewsp *::before,.ewsp *::after{box-sizing:border-box}
.ewsp a{color:inherit;text-decoration:none}
.ewsp button{font:inherit;color:inherit}
.ewsp img{max-width:100%;height:auto}
.ewsp h1,.ewsp h2,.ewsp h3,.ewsp h4{font-family:var(--font);color:var(--ink);margin:0;line-height:1.3;letter-spacing:-.2px}
.ewsp p{margin:0}
.ewsp ul,.ewsp ol{margin:0;padding:0;list-style:none}
.ewsp :focus-visible{outline:3px solid #ffb84a;outline-offset:2px;border-radius:8px}

/* ---------- Language (v1 attributes kept) ---------- */
.ewsp.ews-lang-en{direction:ltr}
.ewsp.ews-lang-ar{direction:rtl}
.ewsp:not(.ews-lang-en) [data-lang-inline="en"],.ewsp:not(.ews-lang-en) [data-lang="en"]{display:none!important}
.ewsp.ews-lang-en [data-lang-inline="ar"],.ewsp.ews-lang-en [data-lang="ar"]{display:none!important}

/* ---------- Layout primitives ---------- */
.ewsp-container{width:min(1240px,100% - 40px);margin-inline:auto}
.ewsp-section{padding:clamp(56px,7vw,96px) 0;position:relative}
.ewsp-section-soft{background:#fff}
.ewsp-section-dark{background:radial-gradient(90% 70% at 85% 0%,rgba(27,169,190,.22),transparent 60%),linear-gradient(180deg,#0b2238,#0e2a44);color:var(--dk-text)}
.ewsp-section-dark h2,.ewsp-section-dark h3{color:#fff}
.ewsp-head{max-width:760px;margin-bottom:34px}
.ewsp-head.is-center{text-align:center;margin-inline:auto}
.ewsp-head h2{font-size:clamp(26px,3.2vw,40px);font-weight:700;margin-top:12px}
.ewsp-head p{color:var(--muted);font-size:16px;margin-top:10px}
.ewsp-section-dark .ewsp-head p{color:var(--dk-muted)}
.ewsp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--teal-ink);background:var(--teal-soft);border:1px solid #c6ebf1;padding:5px 12px;border-radius:999px}
.ewsp-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(27,169,190,.2)}
.ewsp-eyebrow.is-dark{color:#8fe3ee;background:rgba(27,169,190,.12);border-color:rgba(27,169,190,.3)}
.ewsp-fine{margin-top:16px!important;font-size:12.5px;color:var(--faint)}
.ewsp-fine.is-dark{color:#7f9db2}

/* ---------- Buttons ---------- */
.ewsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:13px;border:1px solid transparent;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.ewsp-btn:hover{transform:translateY(-2px)}
.ewsp-btn-lg{height:52px;padding:0 24px;font-size:15px;border-radius:15px}
.ewsp-btn-primary{background:linear-gradient(135deg,#1ba9be,#1792a6);color:#fff!important;box-shadow:0 10px 24px rgba(27,169,190,.35)}
.ewsp-btn-primary:hover{box-shadow:0 14px 30px rgba(27,169,190,.45)}
.ewsp-btn-glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff!important}
.ewsp-btn-glass:hover{background:rgba(255,255,255,.14)}
.ewsp-btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)!important;box-shadow:var(--shadow);height:40px;font-size:13px}
.ewsp-btn-row{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Brand & language ---------- */
.ewsp-brand{display:flex;align-items:center;gap:10px}
.ewsp-brand-mark{width:44px;height:44px;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;padding:6px;flex:none;box-shadow:var(--shadow)}
.ewsp-brand-mark.is-dark{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:none}
.ewsp-brand-mark img{width:100%;height:100%;object-fit:contain}
.ewsp-brand-txt{display:flex;flex-direction:column;line-height:1.2}
.ewsp-brand-txt b{font-size:18px;font-weight:700;letter-spacing:.5px}
.ewsp-brand-txt small{font-size:11px;opacity:.7}
.ewsp-lang{display:flex;padding:3px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.ewsp-lang button{border:0;background:transparent;border-radius:9px;min-width:36px;height:32px;padding:0 10px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.ewsp-lang button.active{background:var(--teal-soft);color:var(--teal-ink)}

/* =====================================================================
   HOMEPAGE
   ===================================================================== */
.ewsp-header{position:sticky;top:var(--admin);z-index:60;color:#fff;background:rgba(11,34,56,.72);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .25s,box-shadow .25s}
.ewsp-header.is-scrolled{background:rgba(11,34,56,.94);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.ewsp-header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.ewsp-header .ewsp-brand-txt small{color:#a9c4d6;opacity:1}
.ewsp-nav{display:flex;gap:4px}
.ewsp-nav a{padding:8px 12px;border-radius:10px;font-size:14px;font-weight:600;color:#c9d7e3!important;transition:background .15s,color .15s}
.ewsp-nav a:hover,.ewsp-nav a.is-on{background:rgba(255,255,255,.08);color:#fff!important}
.ewsp-header-actions{display:flex;align-items:center;gap:8px}
.ewsp-header .ewsp-lang{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.ewsp-header .ewsp-lang button{color:#a9c4d6}
.ewsp-header .ewsp-lang button.active{background:#fff;color:var(--ink)}
.ewsp-burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.ewsp-burger span{width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}
.ewsp-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ewsp-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ewsp-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.ewsp-mobile-nav{display:none}

/* Hero */
.ewsp-hero{position:relative;color:var(--dk-text);background:linear-gradient(160deg,#0b2238 0%,#102d48 50%,#0b2238 100%);padding:clamp(48px,7vw,88px) 0 clamp(60px,8vw,110px);overflow:hidden;margin-top:-72px;padding-top:calc(72px + clamp(48px,7vw,88px))}
.ewsp-hero-bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(50% 60% at 85% 20%,rgba(27,169,190,.32),transparent 70%),radial-gradient(40% 50% at 10% 90%,rgba(242,177,62,.12),transparent 70%)}
.ewsp-hero-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent)}
.ewsp-hero-in{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(28px,4vw,56px);align-items:center}
.ewsp-hero h1{color:#fff;font-size:clamp(32px,4.4vw,56px);font-weight:700;line-height:1.25;margin:18px 0 16px;letter-spacing:-.6px}
.ewsp-hero h1 em{font-style:normal;background:linear-gradient(90deg,#36cad2,#7de1af);-webkit-background-clip:text;background-clip:text;color:transparent}
.ewsp-lead{font-size:clamp(15px,1.3vw,17.5px);color:#c6d8e5;line-height:1.85;max-width:620px}
.ewsp-hero .ewsp-btn-row{margin-top:26px}
.ewsp-hero-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:26px!important}
.ewsp-hero-points li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#a9c4d6}
.ewsp-hero-points li::before{content:"✓";width:20px;height:20px;border-radius:50%;background:rgba(125,225,175,.15);color:#7de1af;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}

/* Monitor */
.ewsp-monitor{position:relative;border-radius:26px;padding:20px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.mon-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mon-k{font-size:12px;color:#8fe3ee;font-weight:700;letter-spacing:.5px}
.mon-t{font-size:17px;font-weight:700;color:#fff}
.mon-tag{font-size:11px;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);white-space:nowrap}
.mon-lights{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 12px}
.mon-light{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:12.5px;font-weight:600;transition:background .3s,border-color .3s}
.mon-light i{width:11px;height:11px;border-radius:50%;background:#7de1af;box-shadow:0 0 0 4px rgba(125,225,175,.15);flex:none;transition:background .3s,box-shadow .3s}
.mon-light.is-fair i{background:#f2b13e;box-shadow:0 0 0 4px rgba(242,177,62,.2)}
.mon-light.is-bad i{background:#ef6b5e;box-shadow:0 0 0 4px rgba(239,107,94,.25);animation:ewspBlink 1.2s infinite}
.mon-light.is-bad{background:rgba(239,107,94,.1);border-color:rgba(239,107,94,.35)}
.mon-chart{position:relative;border-radius:16px;background:rgba(5,18,32,.45);border:1px solid rgba(255,255,255,.07);padding:10px 8px 6px}
.mon-chart svg{width:100%;height:190px;display:block}
.mon-zero{stroke:rgba(255,255,255,.18);stroke-dasharray:4 5}
.mon-ghost path{fill:none;stroke:rgba(255,255,255,.1);stroke-width:2}
.mon-sales{fill:none;stroke:#36cad2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mon-cash{fill:none;stroke:#ef6b5e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mon-area{fill:url(#ewspCashFill)}
.mon-cursor{stroke:#fff;stroke-width:1.5;stroke-dasharray:3 3;opacity:.7}
.mon-flag circle{fill:#f2b13e;stroke:#0b2238;stroke-width:2}
.mon-flag.is-bad circle{fill:#ef6b5e}
.mon-flag.is-bank circle{fill:#fff}
.mon-flag text{font-size:11px;font-weight:700;fill:#0b2238;font-family:var(--font)}
.mon-legend{display:flex;gap:14px;font-size:11.5px;color:#a9c4d6;padding:4px 6px 0}
.mon-legend>span::before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;margin-inline-end:6px;vertical-align:middle}
.mon-legend .s::before{background:#36cad2}.mon-legend .c::before{background:#ef6b5e}
.mon-event{min-height:66px;margin:12px 0;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px;transition:background .3s,border-color .3s}
.mon-event b{font-size:13.5px;color:#fff}
.mon-event span{font-size:12.5px;color:#a9c4d6}
.mon-event.is-fair{background:rgba(242,177,62,.1);border-color:rgba(242,177,62,.35)}
.mon-event.is-bad{background:rgba(239,107,94,.12);border-color:rgba(239,107,94,.4)}
.mon-event.is-good{background:rgba(125,225,175,.08);border-color:rgba(125,225,175,.25)}
.mon-controls{display:flex;align-items:center;gap:12px}
.mon-play{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:12px;flex:none}
.mon-controls input{flex:1}
.mon-month{font-size:12.5px;color:#a9c4d6;white-space:nowrap}
.mon-month b{color:#fff}

/* Range inputs (shared) */
.ewsp input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--teal-2) 0,var(--teal-2) var(--p,50%),rgba(255,255,255,.18) var(--p,50%));margin:8px 0}
.ewsp.ews-lang-ar input[type=range]:not([dir=ltr]){background:linear-gradient(to left,var(--teal-2) 0,var(--teal-2) var(--p,50%),rgba(255,255,255,.18) var(--p,50%))}
.ewsp input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--teal);box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .15s}
.ewsp input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.ewsp input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--teal)}

/* Models strip */
.ewsp-models{background:#fff;border-bottom:1px solid var(--line)}
.ewsp-models-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 0}
.ewsp-models-l{font-size:13.5px;font-weight:700;color:var(--muted);margin-inline-end:6px}
.ewsp-models .chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:10px;background:var(--soft);border:1px solid var(--line);direction:ltr}
.ewsp-models .chip b{font-size:13px;color:var(--ink)}
.ewsp-models .chip small{font-size:11.5px;color:var(--faint)}

/* Truths */
.ewsp-truths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ewsp-truth{position:relative;padding:26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.ewsp-truth .n{font-size:44px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1.5px #c6ebf1;display:block;margin-bottom:12px}
.ewsp-truth h3{font-size:19px;font-weight:700;margin-bottom:8px}
.ewsp-truth p{color:var(--muted);font-size:14.5px}
.ewsp-truth::after{content:"";position:absolute;inset-inline-start:0;top:24px;bottom:24px;width:4px;border-radius:4px;background:linear-gradient(var(--teal),#7de1af)}

/* Journey */
.ewsp-journey{margin-top:28px;padding:clamp(18px,3vw,30px);border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.j-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.j-head h3{font-size:20px;font-weight:700;margin-top:10px}
.j-meter{display:flex;align-items:center;gap:12px;min-width:280px}
.j-meter span{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}
.j-meter-bar{flex:1;height:12px;border-radius:99px;background:var(--line-2);overflow:hidden}
.j-meter-bar i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,var(--good),#7de1af);transition:width .6s cubic-bezier(.2,.8,.2,1),background .4s}
.j-meter b{font-size:20px;color:var(--ink);min-width:54px;text-align:end}
.j-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}
.j-track::before{content:"";position:absolute;top:22px;inset-inline:10%;height:3px;background:linear-gradient(90deg,var(--good),var(--fair),var(--warn),var(--bad));border-radius:3px;opacity:.35}
.ewsp.ews-lang-ar .j-track::before{background:linear-gradient(270deg,var(--good),var(--fair),var(--warn),var(--bad))}
.j-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;padding:0 4px 8px}
.j-dot{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;background:#fff;border:3px solid var(--tone);color:var(--tone);transition:all .25s;position:relative;z-index:1}
.j-step.is-good{--tone:var(--good)}.j-step.is-fair{--tone:var(--fair)}.j-step.is-warn{--tone:var(--warn)}.j-step.is-bad{--tone:var(--bad)}
.j-step:hover .j-dot{transform:scale(1.08)}
.j-step.is-on .j-dot{background:var(--tone);color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--tone) 20%,transparent)}
.j-name{font-size:13.5px;font-weight:700;color:var(--muted);text-align:center}
.j-step.is-on .j-name{color:var(--ink)}
.j-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;animation:ewspFade .35s ease}
.j-panel[hidden]{display:none}
.j-col{padding:16px;border-radius:var(--r-md);background:var(--soft);border:1px solid var(--line-2)}
.j-col strong{display:block;font-size:12.5px;color:var(--teal-ink);margin-bottom:4px}
.j-col p{font-size:14px;color:var(--text)}
.j-col.is-ews{background:linear-gradient(135deg,#0b2238,#12324d);border-color:#0b2238}
.j-col.is-ews strong{color:#8fe3ee}.j-col.is-ews p{color:#e6f0f6}

/* Lab */
.ewsp-labtabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-6px auto 22px}
.ewsp-labtabs button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#c9d7e3;font-weight:700;font-size:14px;cursor:pointer;transition:all .18s}
.ewsp-labtabs button:hover{background:rgba(255,255,255,.1);color:#fff}
.ewsp-labtabs button.is-on{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.ewsp-lab{animation:ewspFade .35s ease}
.ewsp-lab[hidden]{display:none}

.ewsp-zlab{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}
.z-inputs,.z-result{border-radius:var(--r-lg);padding:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.z-intro h3{font-size:19px}
.z-intro p{font-size:13.5px;color:var(--dk-muted);margin:4px 0 12px}
.z-field{display:block;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.z-top{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:600;color:#fff}
.z-top b{color:var(--teal-2);font-size:15px}
.z-field input{width:100%}
.z-field small{display:block;font-size:12px;color:#8fa9bb}
.z-presets{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:13px;color:var(--dk-muted)}
.z-presets button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
.z-presets button:hover{background:rgba(255,255,255,.14)}
.z-result{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.z-gauge{text-align:center}
.z-gauge svg{width:100%;max-width:320px;display:block;margin:0 auto;overflow:visible}
.zg-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:18}
.zg-zone{fill:none;stroke-width:18;opacity:.9}
.zg-zone.is-bad{stroke:#ef6b5e}.zg-zone.is-fair{stroke:#f2b13e}.zg-zone.is-good{stroke:#3fc49a}
.zg-needle{transform-origin:110px 112px;transition:transform .7s cubic-bezier(.3,1.3,.4,1)}
.zg-needle line{stroke:#fff;stroke-width:4;stroke-linecap:round}
.zg-needle circle{fill:#fff}
.z-val{font-size:44px;font-weight:700;color:#fff;line-height:1;margin-top:-8px}
.z-zone{display:inline-block;margin-top:8px;padding:4px 14px;border-radius:99px;font-weight:700;font-size:13px}
.z-zone.is-good{background:rgba(63,196,154,.18);color:#7de1af}.z-zone.is-fair{background:rgba(242,177,62,.18);color:#f7c76a}.z-zone.is-bad{background:rgba(239,107,94,.18);color:#ff9a8e}
.z-formula{font-size:12px;color:#8fa9bb;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace}
.z-contrib{display:grid;gap:7px}
.zc-row{display:grid;grid-template-columns:34px 1fr 54px;gap:8px;align-items:center;font-size:12.5px}
.zc-row span{color:var(--dk-muted);font-weight:700;direction:ltr}
.zc-row b{text-align:end;color:#fff;direction:ltr}
.zc-bar{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.08)}
.zc-bar i{position:absolute;top:0;bottom:0;border-radius:99px;background:var(--teal-2);transition:width .4s,left .4s}
.zc-bar i.is-neg{background:#ef6b5e}
.zc-bar::after{content:"";position:absolute;top:-3px;bottom:-3px;left:var(--z0,0%);width:1.5px;background:rgba(255,255,255,.35)}
.z-read{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);font-size:13.5px;color:#e6f0f6;line-height:1.7}
.z-legend{display:flex;justify-content:center;gap:8px;font-size:12px;font-weight:700}
.z-legend span{padding:3px 10px;border-radius:8px}
.z-legend .is-bad{background:rgba(239,107,94,.18);color:#ff9a8e}.z-legend .is-fair{background:rgba(242,177,62,.18);color:#f7c76a}.z-legend .is-good{background:rgba(63,196,154,.18);color:#7de1af}

/* Self-check */
.ewsp-check{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start}
.c-qs{display:grid;gap:10px}
.c-q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:border-color .2s,background .2s}
.c-q.is-answered{border-color:rgba(54,202,210,.35)}
.c-q p{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:#fff;font-weight:600}
.c-n{width:26px;height:26px;border-radius:8px;background:rgba(54,202,210,.15);color:var(--teal-2);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;flex:none}
.c-opts{display:flex;gap:4px;padding:3px;border-radius:12px;background:rgba(0,0,0,.18);flex:none}
.c-opts button{border:0;background:transparent;color:#a9c4d6;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
.c-opts button:hover{color:#fff}
.c-opts button.is-on[data-v="0"]{background:#3fc49a;color:#06281c}
.c-opts button.is-on[data-v="1"]{background:#f2b13e;color:#3a2700}
.c-opts button.is-on[data-v="2"]{background:#ef6b5e;color:#fff}
.c-result{position:sticky;top:calc(var(--admin) + 96px);display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border-radius:var(--r-lg);background:#fff;color:var(--text);text-align:center;box-shadow:var(--shadow-lg)}
.c-ring{position:relative;width:150px;height:150px}
.c-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.c-ring .t{fill:none;stroke:var(--line-2);stroke-width:12}
.c-ring .v{fill:none;stroke:var(--good);stroke-width:12;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1),stroke .3s}
.c-ring>div{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:52px;gap:3px}
.c-ring b{font-size:38px;color:var(--ink);line-height:1}
.c-ring small{color:var(--faint);font-weight:600}
.c-level{font-weight:700;font-size:16px;color:var(--ink)}
.c-level.is-good{color:var(--good)}.c-level.is-fair{color:var(--fair)}.c-level.is-bad{color:var(--bad)}
.c-progress{font-size:12.5px;color:var(--faint)}
.c-signals{width:100%;display:grid;gap:6px;text-align:start}
.c-sig{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--soft);font-size:13px;animation:ewspFade .3s ease}
.c-sig i{width:9px;height:9px;border-radius:50%;flex:none}
.c-sig.is-1 i{background:var(--fair)}.c-sig.is-2 i{background:var(--bad)}
.c-cta{width:100%;margin-top:4px}
.c-cta[hidden]{display:none}

/* Before / after */
.ewsp-ba{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center}
.ba-copy h3{font-size:22px;margin-bottom:10px}
.ba-copy p{color:var(--dk-muted)}
.ba-copy ul{display:grid;gap:8px;margin-top:16px}
.ba-copy li{display:flex;gap:10px;align-items:flex-start;color:#e6f0f6;font-size:14px}
.ba-copy li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal-2);margin-top:9px;flex:none}
.ba-hint{margin-top:16px!important;font-size:13px;color:var(--teal-2)!important;font-weight:700}
.ba-stage{position:relative;height:400px;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35);user-select:none}
.ba-layer{position:absolute;inset:0}
.ba-before{background:#f4f6f8;color:#333;font-family:Arial,sans-serif;padding:0}
.sheet-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#217346;color:#fff;font-size:12px}
.sheet-bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4)}
.sheet-bar span{margin-left:8px;opacity:.9}
.sheet{display:grid;grid-template-columns:repeat(4,1fr);margin:12px;border:1px solid #c9ced3;background:#fff;font-size:12.5px}
.sheet div{padding:7px 8px;border-right:1px solid #e1e4e8;border-bottom:1px solid #e1e4e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .h{background:#eef1f4;font-weight:700;color:#444}
.sheet-stamp{position:absolute;bottom:22px;left:22px;transform:rotate(-6deg);border:2px dashed #c0392b;color:#c0392b;font-weight:700;padding:6px 12px;border-radius:8px;font-size:13px;background:rgba(255,255,255,.8);font-family:var(--font)}
.ba-after{background:linear-gradient(160deg,#0b2238,#12324d);clip-path:inset(0 0 0 50%);padding:18px;font-family:var(--font)}
.rep{height:100%;display:flex;flex-direction:column;gap:12px;color:var(--dk-text)}
.rep-top{display:flex;justify-content:space-between;align-items:center}
.rep-top small{display:block;color:#8fe3ee;font-size:11px;font-weight:700}
.rep-top b{color:#fff;font-size:17px}
.rep-pill{background:rgba(242,177,62,.2);color:#f7c76a;font-size:12px;font-weight:700;padding:4px 12px;border-radius:99px}
.rep-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rep-kpis div{padding:10px;border-radius:12px;background:rgba(255,255,255,.07)}
.rep-kpis small{display:block;font-size:11px;color:#a9c4d6}
.rep-kpis b{font-size:22px;color:#fff}
.rep-chart{height:90px;border-radius:12px;background:rgba(255,255,255,.04);padding:6px}
.rep-chart svg{width:100%;height:100%}
.rep-risks{display:grid;gap:6px}
.rep-risks div{display:flex;justify-content:space-between;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);font-size:13px}
.rep-risks b.is-bad{color:#ff9a8e}.rep-risks b.is-fair{color:#f7c76a}.rep-risks b.is-warn{color:#f6a26a}
.ba-divider{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 18px rgba(0,0,0,.4)}
.ba-handle{position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.ba-range{position:absolute!important;inset:0;width:100%;height:100%!important;opacity:0;cursor:ew-resize;margin:0!important}
.ba-tag{position:absolute;top:12px;font-size:12px;font-weight:700;padding:4px 12px;border-radius:99px;pointer-events:none;font-family:var(--font)}
.ba-tag.is-before{left:12px;background:#fff;color:#217346;border:1px solid #cfe7d8;top:48px}
.ba-tag.is-after{right:12px;background:var(--teal);color:#fff;top:auto;bottom:12px}

/* Audiences */
.ewsp-aud{border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px}
.aud-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px;border-radius:18px;background:var(--soft)}
.aud-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;border-radius:14px;padding:12px;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;transition:all .18s}
.aud-tabs button .ico{font-size:20px}
.aud-tabs button:hover{color:var(--ink);background:#fff}
.aud-tabs button.is-on{background:var(--ink);color:#fff;box-shadow:0 8px 18px rgba(11,34,56,.2)}
.aud-panel{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;padding:18px 10px 10px;animation:ewspFade .35s ease}
.aud-panel[hidden]{display:none}
.aud-panel>div{padding:20px;border-radius:var(--r-md);background:var(--soft);border:1px solid var(--line-2)}
.aud-panel strong{display:block;font-size:13px;color:var(--teal-ink);margin-bottom:8px}
.aud-pain .aud-ico{font-size:34px;display:block;margin-bottom:8px}
.aud-pain p{color:var(--text)}
.aud-gets ul{display:grid;gap:10px}
.aud-gets li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:600;color:var(--ink)}
.aud-gets li::before{content:"✓";width:22px;height:22px;border-radius:7px;background:var(--good-soft);color:var(--good);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}
.aud-panel .aud-q{background:linear-gradient(135deg,#0b2238,#12324d);border-color:#0b2238}
.aud-q strong{color:#8fe3ee!important}
.aud-q p{font-size:19px;font-weight:700;color:#fff;line-height:1.55}

/* Capabilities */
.caps-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.caps-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 18px;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow)}
.caps-tabs button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.caps-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch;animation:ewspFade .35s ease}
.caps-panel[hidden]{display:none}
.caps-copy{padding:26px;border-radius:var(--r-lg);background:var(--soft);border:1px solid var(--line)}
.caps-copy h3{font-size:22px;margin-bottom:10px}
.caps-copy p{color:var(--muted)}
.caps-copy ul{display:grid;gap:10px;margin-top:16px}
.caps-copy li{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--ink);font-size:14.5px}
.caps-copy li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:9px;flex:none}
.caps-visual{padding:24px;border-radius:var(--r-lg);background:linear-gradient(160deg,#0b2238,#12324d);color:var(--dk-text);display:flex;flex-direction:column;gap:14px}
.cv-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cv-top b{color:#fff;font-size:16px}
.cv-top>span{font-size:12px;padding:4px 10px;border-radius:99px;background:rgba(27,169,190,.2);color:#8fe3ee;font-weight:700}
.cv-row{display:grid;grid-template-columns:130px 1fr 34px;gap:10px;align-items:center;font-size:13.5px}
.cv-row b{color:#fff;text-align:end}
.cv-track{height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.cv-track i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--teal),#7de1af);transition:width 1s cubic-bezier(.2,.8,.2,1)}
.ewsp.ews-lang-ar .cv-track i{background:linear-gradient(270deg,var(--teal),#7de1af)}
.caps-panel.is-in .cv-track i,.ewsp:not(.ewsp-js) .cv-track i{width:var(--w)}
.cv-note{margin-top:auto;font-size:11.5px;color:#7f9db2}

/* Modules & how */
.ewsp-modules{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.ewsp-module{padding:18px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s}
.ewsp-module:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#bfe3ea}
.ewsp-module .ico{width:44px;height:44px;border-radius:13px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:10px}
.ewsp-module h3{font-size:15px;font-weight:700;margin-bottom:4px}
.ewsp-module p{font-size:13px;color:var(--muted);line-height:1.65}
.ewsp-how{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;padding:22px;border-radius:var(--r-xl);background:linear-gradient(135deg,#0b2238,#12324d);color:var(--dk-text);position:relative}
.how-step{position:relative;padding:8px 10px}
.how-step>span{width:40px;height:40px;border-radius:13px;background:rgba(27,169,190,.18);color:#8fe3ee;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}
.how-step.is-last>span{background:var(--teal);color:#fff}
.how-step b{display:block;color:#fff;font-size:15.5px;margin-bottom:2px}
.how-step p{font-size:13px;color:var(--dk-muted)}
.how-step:not(.is-last)::after{content:"";position:absolute;top:28px;inset-inline-start:58px;inset-inline-end:-6px;height:2px;background:repeating-linear-gradient(90deg,rgba(143,227,238,.35) 0 6px,transparent 6px 12px)}

/* Trust */
.ewsp-trust{padding:0 0 clamp(56px,7vw,90px)}
.ewsp-trust-in{display:grid;grid-template-columns:auto 1.3fr 1fr;gap:20px;align-items:center;padding:24px 26px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.tr-ico{width:64px;height:64px;border-radius:18px;background:var(--good-soft);display:flex;align-items:center;justify-content:center;font-size:30px}
.ewsp-trust h3{font-size:19px;margin-bottom:4px}
.ewsp-trust p{font-size:14px;color:var(--muted)}
.ewsp-trust ul{display:grid;gap:8px}
.ewsp-trust li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;font-weight:600;color:var(--ink)}
.ewsp-trust li::before{content:"✓";color:var(--good);font-weight:700}

/* FAQ */
.ewsp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.ewsp-faq-grid .ewsp-head{position:sticky;top:calc(var(--admin) + 100px)}
.ewsp-faq{display:grid;gap:10px}
.ews-faq-item{border-radius:var(--r-md);background:var(--soft);border:1px solid var(--line);transition:background .2s,border-color .2s,box-shadow .2s}
.ews-faq-item.active{background:#fff;border-color:#bfe3ea;box-shadow:var(--shadow)}
.ews-faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:0;background:transparent;text-align:start;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer}
.ews-faq-question em{position:relative;width:26px;height:26px;border-radius:8px;background:var(--teal-soft);flex:none}
.ews-faq-question em::before,.ews-faq-question em::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;border-radius:2px;background:var(--teal-ink);transform:translate(-50%,-50%)}
.ews-faq-question em::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.ews-faq-item.active .ews-faq-question em::after{transform:translate(-50%,-50%) rotate(0)}
.ews-faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.ews-faq-item.active .ews-faq-answer{grid-template-rows:1fr}
.ews-faq-answer>div{overflow:hidden}
.ews-faq-answer p{padding:0 18px 16px;color:var(--muted);font-size:14.5px}

/* CTA & footer */
.ewsp-cta{padding:0 0 clamp(56px,7vw,90px);background:#fff}
.ewsp-section-soft+.ewsp-cta{padding-top:0}
.ewsp-cta-box{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(26px,4vw,44px);border-radius:var(--r-xl);color:var(--dk-text);
  background:radial-gradient(80% 120% at 100% 0%,rgba(27,169,190,.35),transparent 60%),linear-gradient(135deg,#0b2238,#12324d);box-shadow:var(--shadow-lg)}
.ewsp-cta-box h2{color:#fff;font-size:clamp(24px,3vw,36px);margin-bottom:6px}
.ewsp-cta-box p{color:#c6d8e5;max-width:640px}
.ewsp-footer{background:#0b2238;color:var(--dk-muted);padding:28px 0}
.ewsp-footer-in{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.ewsp-footer .ewsp-brand-txt b{color:#fff}
.ewsp-footer .ewsp-brand-txt small{color:var(--dk-muted);opacity:1;font-size:12px}
.ewsp-footer-links{display:flex;gap:16px;font-size:13.5px;font-weight:600}
.ewsp-footer-links a:hover{color:#fff}
.ewsp-footer-rights{font-size:12.5px}

/* =====================================================================
   ACCOUNT PAGES (login / register / forgot)
   ===================================================================== */
.ewsp-auth{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(60% 50% at 100% 0%,rgba(27,169,190,.10),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(242,177,62,.08),transparent 70%),var(--canvas)}
.ewsp-authbar{padding:16px 0}
.ewsp-authbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ewsp-authbar .ewsp-brand-txt b{color:var(--ink)}
.ewsp-authbar .ewsp-brand-txt small{color:var(--muted);opacity:1}
.ewsp-authbar-actions{display:flex;align-items:center;gap:8px}
.ewsp-auth-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(18px,3vw,36px);align-items:start;padding:clamp(8px,2vw,24px) 0 30px}
.ewsp-form-head{margin-bottom:18px}
.ewsp-form-head h1{font-size:clamp(26px,3vw,36px);font-weight:700;margin:12px 0 8px}
.ewsp-form-head p{color:var(--muted);font-size:15px;max-width:560px}
.ewsp-form-card{padding:clamp(18px,3vw,30px);border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.ewsp-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.ewsp-chips>span{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:var(--soft);border:1px solid var(--line-2);font-size:13px;color:var(--ink);font-weight:600}
.ewsp-chips b{font-size:11.5px;color:var(--teal-ink);font-weight:700}
.ewsp-hint{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--teal-soft);border:1px solid #c6ebf1}
.ewsp-hint i{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:8px;flex:none}
.ewsp-hint p{font-size:13px;color:var(--ink-3)}
.ewsp-switch{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;font-size:14px;color:var(--muted)}
.ewsp-switch a{color:var(--teal-ink);font-weight:700}
.ewsp-switch a:hover{text-decoration:underline}
.ewsp-auth-foot{text-align:center;font-size:12.5px;color:var(--faint);padding:10px 0 22px}

/* Story panel (dark) */
.ewsp-story{position:sticky;top:calc(var(--admin) + 16px);border-radius:var(--r-xl);overflow:hidden;color:var(--dk-text);
  background:radial-gradient(90% 80% at 100% 0%,rgba(27,169,190,.30),transparent 60%),linear-gradient(160deg,#0b2238,#12324d 60%,#0e2a44);box-shadow:var(--shadow-lg)}
.ewsp-story::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 80%)}
.ewsp-story-in>.ewsp-eyebrow{align-self:flex-start}
.ewsp-story-in{position:relative;z-index:1;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:16px}
.ewsp-story h2{color:#fff;font-size:clamp(20px,2.2vw,26px);font-weight:700}

/* login: pulse + facts */
.ewsp-pulse{width:96px;height:96px;display:block;align-self:flex-start;overflow:visible}
.ewsp-pulse path{fill:none;stroke-width:12;stroke-linecap:round;animation:ewspArc 2.4s ease-in-out infinite}
.ewsp-pulse .a1{stroke:#22c55e}.ewsp-pulse .a2{stroke:#f59e0b;animation-delay:.3s}.ewsp-pulse .a3{stroke:#ef4444;animation-delay:.6s}
.ewsp-pulse circle{fill:#fff}
.ewsp-facts{position:relative;min-height:120px}
@media (max-width:720px){.ewsp-facts{min-height:96px}}
.ewsp-facts .fact{position:absolute;inset:0;font-size:clamp(18px,1.8vw,22px);font-weight:600;color:#fff;line-height:1.6;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}
.ewsp-facts .fact.is-on{opacity:1;transform:none}
.ewsp-fact-dots{display:flex;gap:6px}
.ewsp-fact-dots button{width:8px;height:8px;border-radius:99px;border:0;background:rgba(255,255,255,.25);cursor:pointer;padding:0;transition:width .3s,background .3s}
.ewsp-fact-dots button.is-on{width:26px;background:var(--teal-2)}
.ewsp-signal-list{margin-top:6px;padding:16px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:grid;gap:10px}
.sl-head{font-size:12.5px;font-weight:700;color:#8fe3ee}
.sl-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#e6f0f6}
.sl-row i{width:10px;height:10px;border-radius:50%;flex:none}
.sl-row i.is-good{background:#7de1af}.sl-row i.is-fair{background:#f2b13e}.sl-row i.is-teal{background:var(--teal-2)}

/* register: journey + assemble */
.ewsp-journey-steps{display:grid;gap:4px;position:relative}
.ewsp-journey-steps li{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:14px;transition:background .3s}
.ewsp-journey-steps li>span{width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#a9c4d6;flex:none;transition:all .3s}
.ewsp-journey-steps b{display:block;color:#fff;font-size:15px}
.ewsp-journey-steps p{font-size:13px;color:var(--dk-muted)}
.ewsp-journey-steps li.is-on{background:rgba(255,255,255,.06)}
.ewsp-journey-steps li.is-on>span{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 5px rgba(27,169,190,.2)}
.ewsp-journey-steps li.is-done>span{background:rgba(125,225,175,.18);border-color:rgba(125,225,175,.4);color:#7de1af}
.ewsp-assemble{padding:14px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.as-top{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:13px}
.as-top>span{font-size:11px;font-weight:700;color:#8fe3ee;background:rgba(27,169,190,.15);padding:2px 8px;border-radius:6px}
.as-top b{color:#fff}
.as-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.as-card{position:relative;padding:10px;border-radius:12px;background:rgba(255,255,255,.07);overflow:hidden;opacity:.25;transform:scale(.96);transition:opacity .5s,transform .5s}
.as-card.is-wide{grid-column:1/-1}
.as-card small{display:block;font-size:11px;color:#a9c4d6}
.as-card b{font-size:20px;color:#fff}
.as-card i{position:absolute;top:10px;inset-inline-end:10px;width:8px;height:8px;border-radius:50%}
.as-card i.is-fair{background:#f2b13e}.as-card i.is-warn{background:#f6a26a}
.as-card svg{width:100%;height:40px;display:block}
.as-card.is-in{opacity:1;transform:none}
.as-note{font-size:11px;color:#7f9db2;margin-top:8px}
.ewsp-need{padding:14px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.ewsp-need b{display:block;color:#fff;margin-bottom:6px}
.ewsp-need ul{display:grid;gap:6px}
.ewsp-need li{display:flex;gap:8px;font-size:13.5px;color:#e6f0f6}
.ewsp-need li::before{content:"✓";color:#7de1af;font-weight:700}

/* forgot: lock + steps + tips */
.ewsp-lock{width:84px;height:84px;border-radius:24px;background:rgba(27,169,190,.15);border:1px solid rgba(27,169,190,.3);display:flex;align-items:center;justify-content:center;animation:ewspFloat 3.2s ease-in-out infinite}
.ewsp-lock svg{width:46px;height:46px;fill:none;stroke:#8fe3ee;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.ewsp-tips{display:grid;gap:10px}
.ewsp-tips li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:14px;color:#e6f0f6}
.ewsp-tips b{font-size:18px}
.ewsp-resetsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px;counter-reset:s}
.ewsp-resetsteps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;font-weight:600;color:var(--muted)}
.ewsp-resetsteps li>.n{width:36px;height:36px;border-radius:50%;background:var(--soft);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--faint);position:relative;z-index:1}
.ewsp-resetsteps li:not(:last-child)::after{content:"";position:absolute;top:18px;inset-inline-start:calc(50% + 22px);inset-inline-end:calc(-50% + 22px);height:2px;background:var(--line)}
.ewsp-resetsteps li.is-on{color:var(--ink)}
.ewsp-resetsteps li.is-done>.n{background:var(--good-soft);border-color:#bfe8d2;color:var(--good)}
.ewsp-resetsteps li.is-on>.n{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 5px rgba(27,169,190,.15)}

/* ---------- Formidable forms (login / register / reset) ---------- */
.ewsp .ewsp-form .frm_forms,.ewsp .ewsp-form .with_frm_style,.ewsp .ewsp-form form{max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;font-family:var(--font)!important}
.ewsp .ewsp-form .frm_form_fields>fieldset,.ewsp .ewsp-form fieldset{border:0!important;padding:0!important;margin:0!important;background:transparent!important}
.ewsp .ewsp-form .frm_form_field,.ewsp .ewsp-form .form-field,.ewsp .ewsp-form p.login-username,.ewsp .ewsp-form p.login-password{margin:0 0 14px!important}
.ewsp .ewsp-form label,.ewsp .ewsp-form .frm_primary_label{display:block;font-size:13.5px!important;font-weight:700!important;color:var(--ink)!important;margin:0 0 6px!important;padding:0!important;font-family:var(--font)!important}
.ewsp .ewsp-form .frm_required{color:var(--bad)!important}
.ewsp .ewsp-form input[type=text],.ewsp .ewsp-form input[type=email],.ewsp .ewsp-form input[type=password],.ewsp .ewsp-form input[type=number],.ewsp .ewsp-form input[type=tel],.ewsp .ewsp-form input[type=url],.ewsp .ewsp-form select,.ewsp .ewsp-form textarea{
  width:100%!important;height:50px!important;padding:0 14px!important;border-radius:13px!important;border:1.5px solid var(--line)!important;background:var(--soft)!important;color:var(--ink)!important;
  font-family:var(--font)!important;font-size:15px!important;box-shadow:none!important;transition:border-color .15s,background .15s,box-shadow .15s!important;outline:none!important}
.ewsp .ewsp-form textarea{height:auto!important;min-height:110px;padding:12px 14px!important}
.ewsp .ewsp-form input:focus,.ewsp .ewsp-form select:focus,.ewsp .ewsp-form textarea:focus{border-color:var(--teal)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(27,169,190,.15)!important}
.ewsp .ewsp-form input::placeholder{color:#9aabba!important}
.ewsp .ewsp-form .frm_description{font-size:12.5px!important;color:var(--muted)!important;margin-top:4px!important}
.ewsp .ewsp-form .frm_error,.ewsp .ewsp-form .frm_error_style{font-size:12.5px!important;color:var(--bad)!important;background:transparent!important;margin-top:4px!important}
.ewsp .ewsp-form .frm_blank_field input,.ewsp .ewsp-form .frm_blank_field select{border-color:var(--bad)!important;background:var(--bad-soft)!important}
.ewsp .ewsp-form .frm_error_style{display:block;padding:10px 12px!important;border-radius:12px!important;border:1px solid #f3c6c6!important;background:var(--bad-soft)!important;margin-bottom:12px!important}
.ewsp .ewsp-form .frm_message,.ewsp .ewsp-form .frm_message p{padding:12px 14px!important;border-radius:12px!important;background:var(--good-soft)!important;border:1px solid #bfe8d2!important;color:#14593b!important;font-size:14px!important}
.ewsp .ewsp-form .login-remember,.ewsp .ewsp-form .frm_checkbox,.ewsp .ewsp-form .frm_opt_container{font-size:14px;color:var(--muted)}
.ewsp .ewsp-form .login-remember label,.ewsp .ewsp-form .frm_checkbox label{display:inline-flex!important;align-items:center;gap:8px;font-weight:600!important;color:var(--muted)!important;cursor:pointer}
.ewsp .ewsp-form input[type=checkbox],.ewsp .ewsp-form input[type=radio]{width:18px!important;height:18px!important;accent-color:var(--teal);margin:0!important}
.ewsp .ewsp-form .frm_submit,.ewsp .ewsp-form .login-submit{margin:6px 0 0!important;padding:0!important}
.ewsp .ewsp-form .frm_submit button,.ewsp .ewsp-form .frm_submit input[type=submit],.ewsp .ewsp-form .frm_button_submit,.ewsp .ewsp-form input#wp-submit,.ewsp .ewsp-form input[type=submit],.ewsp .ewsp-form button[type=submit]{
  width:100%!important;height:52px!important;padding:0 20px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#1ba9be,#1792a6)!important;color:#fff!important;
  font-family:var(--font)!important;font-size:15.5px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 10px 24px rgba(27,169,190,.35)!important;transition:transform .18s,box-shadow .18s!important;text-shadow:none!important;line-height:52px!important}
.ewsp .ewsp-form .frm_submit button:hover,.ewsp .ewsp-form input[type=submit]:hover,.ewsp .ewsp-form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(27,169,190,.45)!important}
.ewsp .ewsp-form .frm_forgot_password,.ewsp .ewsp-form .frm_forgot_password a{display:block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--teal-ink)!important;text-align:center}
.ewsp .ewsp-form .frm_screen_reader{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.ewsp .ewsp-form .frm_fields_container{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:12px}
.ewsp .ewsp-form .frm_fields_container>*{grid-column:span 12}
.ewsp .ewsp-form .frm_fields_container>.frm_half{grid-column:span 6}
.ewsp .ewsp-form .frm_fields_container>.frm_third{grid-column:span 4}
.ewsp .ewsp-form .frm_fields_container>.frm_two_thirds{grid-column:span 8}
.ewsp .ewsp-form .frm_fields_container>.frm_fourth{grid-column:span 3}
.ewsp .ewsp-form .frm_fields_container>.frm_three_fourths{grid-column:span 9}
.ewsp .ewsp-form .frm_fields_container>.frm_submit{grid-column:1/-1}
.ewsp .ewsp-form .frm_combo_inputs_container,.ewsp .ewsp-form .frm_grid_container{gap:12px}
/* password visibility toggle (added by JS) */
.ewsp-pw{position:relative;display:block}
.ewsp-pw input{padding-inline-end:48px!important}
.ewsp-pw-btn{position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ewsp-pw-btn:hover{background:var(--line-2);color:var(--ink)}
.ewsp-pw-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.ewsp-capslock{display:none;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--warn)}
.ewsp-capslock.is-on{display:block}

/* ---------- Reveal & keyframes ---------- */
.ewsp-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.ewsp-js [data-reveal].is-in{opacity:1;transform:none}
@keyframes ewspFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ewspBlink{50%{opacity:.4}}
@keyframes ewspFloat{50%{transform:translateY(-8px)}}
@keyframes ewspArc{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .ewsp-nav{display:none}
  .ewsp-burger{display:flex}
  .ewsp-mobile-nav{display:none;flex-direction:column;padding:8px 20px 16px;border-top:1px solid rgba(255,255,255,.08)}
  .ewsp-mobile-nav.open{display:flex}
  .ewsp-mobile-nav a{padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.06);font-weight:600;color:#dbe8f1!important}
  .ewsp-modules{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .ewsp-hero-in,.ewsp-zlab,.ewsp-check,.ewsp-ba,.caps-panel,.ewsp-faq-grid{grid-template-columns:1fr}
  .ewsp-faq-grid .ewsp-head{position:static}
  .c-result{position:static}
  .ewsp-truths{grid-template-columns:1fr}
  .j-panel{grid-template-columns:1fr}
  .aud-panel{grid-template-columns:1fr}
  .ewsp-trust-in{grid-template-columns:auto 1fr}
  .ewsp-trust-in ul{grid-column:1/-1}
  .ewsp-auth-grid{grid-template-columns:1fr}
  .ewsp-story{position:static}
  .ewsp-how{grid-template-columns:repeat(2,1fr)}
  .how-step::after{display:none}
}
@media (max-width:720px){
  .ewsp{font-size:14.5px}
  .ewsp-container{width:calc(100% - 28px)}
  .ewsp-hide-sm{display:none!important}
  .ewsp-header-in{height:64px}
  .ewsp-hero{margin-top:-64px;padding-top:calc(64px + 36px)}
  .ewsp-brand-txt small{display:none}
  .ewsp-btn{height:40px;padding:0 14px;font-size:13px}
  .ewsp-btn-lg{height:48px;font-size:14px;flex:1}
  .mon-lights{grid-template-columns:repeat(2,1fr)}
  .mon-chart svg{height:160px}
  .ewsp-models-l{width:100%}
  .j-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .j-dot{width:38px;height:38px;font-size:13px}
  .j-name{font-size:11px}
  .j-track::before{top:18px}
  .j-meter{min-width:0;width:100%}
  .ewsp-labtabs button{flex:1 1 100%;justify-content:center}
  .c-q{flex-direction:column;align-items:stretch}
  .c-opts{justify-content:stretch}.c-opts button{flex:1}
  .ba-stage{height:380px}
  .rep-kpis b{font-size:18px}
  .aud-tabs{grid-template-columns:repeat(2,1fr)}
  .aud-tabs button{font-size:13px;padding:10px 6px}
  .ewsp-modules{grid-template-columns:repeat(2,1fr)}
  .ewsp-module{padding:14px}
  .ewsp-how{grid-template-columns:1fr}
  .cv-row{grid-template-columns:100px 1fr 30px}
  .ewsp-cta-box .ewsp-btn-row{width:100%}
  .ewsp-footer-in{flex-direction:column;text-align:center}
  .ewsp-chips{grid-template-columns:1fr}
  .ewsp-authbar .ewsp-btn-ghost{padding:0 10px;font-size:12px}
  .ewsp .ewsp-form .frm_fields_container>*{grid-column:1/-1!important}
  .as-grid{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .ewsp *,.ewsp *::before,.ewsp *::after{animation:none!important;transition:none!important}
  .ewsp-js [data-reveal]{opacity:1;transform:none}
}

/* V2.1 Secure: graceful messaging when an educational simulator is unavailable. */
.ewsp-sim-note{font-size:12.5px;line-height:1.7;margin-top:10px!important;padding:10px 12px;border-radius:10px;background:#fff4dc;color:#754813;border:1px solid #eacb94}
.ewsp-section-dark .ewsp-sim-note,.ewsp-monitor .ewsp-sim-note{background:rgba(242,177,62,.1);border-color:rgba(242,177,62,.35);color:#ffe0a3}
.ewsp-sim-note[hidden]{display:none}
.ewsp [data-mon-play]:disabled,.ewsp [data-mon-range]:disabled{opacity:.55;cursor:wait}
/* =====================================================================
 EWS Public Pages v2.1.1 | Hover harmonization, APPEND ONLY
 Scope: .ewsp public page only. No PHP, JS, forms or calculations.
 Place this block at the VERY END of assets/css/ews-public-pages-v21.css
 ===================================================================== */

/* 1) Distress journey: do not let theme button:hover paint a pink rectangle. */
.ewsp .ewsp-journey .j-track > button.j-step {
  background: transparent !important;
  color: var(--ink) !important;
  border: 0 !important;
  border-radius: 14px;
  box-shadow: none !important;
  transition: background-color .18s ease, box-shadow .18s ease;
}
.ewsp .ewsp-journey .j-track > button.j-step:hover {
  background: #eaf7fa !important;
  color: var(--ink) !important;
  box-shadow: inset 0 0 0 1px #c8e8ee !important;
}
.ewsp .ewsp-journey .j-track > button.j-step:hover .j-name {
  color: var(--ink) !important;
}
/* Selected-stage color stays on its numbered circle (.j-dot), not full card. */
.ewsp .ewsp-journey .j-track > button.j-step.is-on:hover {
  background: #eef9fb !important;
}

/* 2) Capabilities tabs: selected navy, hovered unselected light teal. */
.ewsp .ewsp-caps .caps-tabs > button {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
  transition: background-color .18s ease, color .18s ease,
              border-color .18s ease, box-shadow .18s ease;
}
.ewsp .ewsp-caps .caps-tabs > button:not(.is-on):hover {
  background: var(--teal-soft) !important;
  border-color: #a7dfe8 !important;
  color: var(--teal-ink) !important;
  box-shadow: 0 8px 20px rgba(11,34,56,.10) !important;
}
.ewsp .ewsp-caps .caps-tabs > button.is-on,
.ewsp .ewsp-caps .caps-tabs > button.is-on:hover {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(11,34,56,.17) !important;
}

/* 3) FAQ: keep readable dark text, never turn question pink. */
.ewsp .ewsp-faq .ews-faq-item > button.ews-faq-question {
  background: transparent !important;
  color: var(--ink) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: var(--r-md);
  transition: background-color .18s ease, color .18s ease;
}
.ewsp .ewsp-faq .ews-faq-item > button.ews-faq-question:hover {
  background: #eaf7fa !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
.ewsp .ewsp-faq .ews-faq-item.active > button.ews-faq-question:hover {
  background: #f1fafc !important;
}

/* 4) Other demo controls: protect against theme-wide pink button hovers. */
.ewsp .aud-tabs > button:not(.is-on):hover,
.ewsp .ewsp-lang > button:not(.active):hover {
  background: var(--teal-soft) !important;
  color: var(--teal-ink) !important;
}
.ewsp .aud-tabs > button.is-on,
.ewsp .aud-tabs > button.is-on:hover {
  background: var(--ink) !important;
  color: #fff !important;
}
.ewsp .ewsp-header .ewsp-lang > button:not(.active):hover {
  background: rgba(255,255,255,.17) !important;
  color: #fff !important;
}
.ewsp .ewsp-lang > button.active,
.ewsp .ewsp-lang > button.active:hover {
  background: var(--teal-soft) !important;
  color: var(--teal-ink) !important;
}
.ewsp .ewsp-header .ewsp-lang > button.active,
.ewsp .ewsp-header .ewsp-lang > button.active:hover {
  background: #fff !important;
  color: var(--ink) !important;
}
.ewsp .ewsp-labtabs > button:not(.is-on):hover,
.ewsp .z-presets > button:hover,
.ewsp .mon-play:hover,
.ewsp .ewsp-burger:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}
.ewsp .ewsp-labtabs > button.is-on,
.ewsp .ewsp-labtabs > button.is-on:hover {
  background: #fff !important;
  color: var(--ink) !important;
}
.ewsp .c-opts > button:hover {background: rgba(255,255,255,.12) !important;color:#fff !important;}
.ewsp .c-opts > button.is-on[data-v="0"],
.ewsp .c-opts > button.is-on[data-v="0"]:hover {background:#3fc49a !important;color:#06281c !important;}
.ewsp .c-opts > button.is-on[data-v="1"],
.ewsp .c-opts > button.is-on[data-v="1"]:hover {background:#f2b13e !important;color:#3a2700 !important;}
.ewsp .c-opts > button.is-on[data-v="2"],
.ewsp .c-opts > button.is-on[data-v="2"]:hover {background:#ef6b5e !important;color:#fff !important;}

/* Preserve keyboard accessibility; theme focus outlines are not suppressed. */
/* EWS Public Pages — Full Width Fix */

body:has(.ewsp) {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: clip;
}

body:has(.ewsp) .ewsp {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}