/* Empower Hub applicant intake. Everything is scoped to .ehf / .ehf-modal so it can't clash with the theme. */
.ehf-modal,.ehf{
  --eh-purple:#5f01cf; --eh-orange:#f5a623; --eh-dark:#1A0B2E;
  --ehf-bg:#faf7ff; --ehf-surface:#ffffff; --ehf-ink:#1A0B2E; --ehf-muted:#6b6380;
  --ehf-line:#e8e0f5; --ehf-soft:#f3ecff; --ehf-accent:#5f01cf; --ehf-stamp:#e08e0b;
  color-scheme:light;
}
.ehf,.ehf *,.ehf *::before,.ehf *::after{box-sizing:border-box}
.ehf{font-family:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ehf-ink);max-width:1040px;margin:0 auto;padding:20px 24px 40px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:28px;align-items:start;text-align:left;line-height:1.4}
/* The site footer also uses .ehf (dark background, white text, yellow accent) and its CSS loads later.
   Only this form has id="ehf", so the stronger selector puts our colours back. */
#ehf.ehf{--ehf-bg:#faf7ff;--ehf-accent:#5f01cf;background:none;color:var(--ehf-ink);position:static;overflow:visible}
#ehf.ehf::before{content:none}
.ehf [hidden]{display:none!important}
/* Neutralise common theme button/input styles (component rules below are more specific) */
.ehf button{font:inherit;text-transform:none;letter-spacing:normal;line-height:1.3;box-shadow:none;margin:0;min-height:0;min-width:0;text-decoration:none}
.ehf input,.ehf textarea{font:inherit;margin:0;box-shadow:none}
.ehf button:focus-visible,.ehf input:focus-visible,.ehf textarea:focus-visible,.ehf a:focus-visible{outline:3px solid var(--eh-orange);outline-offset:2px}

.ehf .ehf-panel{background:var(--ehf-surface);border:1px solid var(--ehf-line);border-radius:22px;padding:32px;min-height:540px;display:flex;flex-direction:column;box-shadow:0 24px 50px -34px rgba(95,1,207,.35)}
.ehf .ehf-screen{display:flex;flex-direction:column;flex:1}
.ehf .ehf-top{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.ehf .ehf-count{font-size:.85rem;color:var(--ehf-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.ehf .ehf-track{flex:1;height:6px;border-radius:99px;background:var(--ehf-line);overflow:hidden}
.ehf .ehf-fill{height:100%;width:0;background:var(--eh-orange);border-radius:99px;transition:width .35s ease}

.ehf h2{font-family:inherit;color:var(--ehf-ink);font-size:clamp(1.45rem,3vw,2rem);line-height:1.2;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;text-transform:none}
.ehf h2:focus{outline:none}
.ehf .ehf-q p,.ehf .ehf-lead{color:var(--ehf-muted);margin:0;font-size:.98rem;line-height:1.55;max-width:60ch}
.ehf .ehf-body{flex:1;margin-top:26px}
.ehf .ehf-body.is-in{animation:ehfIn .28s ease both}
@keyframes ehfIn{from{opacity:0;transform:translateY(8px)}}
.ehf .ehf-error{color:#b42318;font-size:.9rem;margin:18px 0 0}

.ehf .ehf-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.ehf .ehf-next,.ehf .ehf-start,.ehf .ehf-go{background:var(--eh-orange);color:var(--eh-dark);border:0;border-radius:999px;padding:14px 30px;font-weight:700;font-size:1rem;cursor:pointer;display:inline-block;transition:transform .12s ease,opacity .15s}
.ehf .ehf-next:hover,.ehf .ehf-start:hover,.ehf .ehf-go:hover{background:#ffb53d;color:var(--eh-dark)}
.ehf .ehf-next:active,.ehf .ehf-start:active,.ehf .ehf-go:active{transform:scale(.97)}
.ehf .ehf-next:disabled{opacity:.4;cursor:not-allowed}
.ehf .ehf-back,.ehf .ehf-restart{background:none;border:0;color:var(--ehf-muted);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:10px 6px;border-radius:10px}
.ehf .ehf-back:hover,.ehf .ehf-restart:hover{background:none;color:var(--ehf-ink)}
.ehf .ehf-back svg{width:18px;height:18px}
.ehf .ehf-hint{font-size:.8rem;color:var(--ehf-muted);margin-left:auto;margin-right:8px}
@media (pointer:coarse){.ehf .ehf-hint{display:none}}

/* Intro and done */
.ehf .ehf-intro h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:auto}
.ehf .ehf-intro .ehf-lead{margin:10px 0 28px}
.ehf .ehf-intro .ehf-start{align-self:flex-start;margin-bottom:auto}
.ehf .ehf-done h2{margin-top:auto}
.ehf .ehf-done .ehf-lead{margin:10px 0 26px}
.ehf .ehf-done-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:auto}
.ehf .ehf-data{margin-top:24px;font-size:.88rem}
.ehf .ehf-data summary{cursor:pointer;color:var(--ehf-muted);font-weight:500}
.ehf .ehf-data pre{background:var(--ehf-soft);color:var(--ehf-ink);border-radius:12px;padding:14px;overflow-x:auto;font-size:.8rem;line-height:1.5;margin:10px 0 0;white-space:pre}

/* Age slider */
.ehf .ehf-age{display:flex;align-items:baseline;gap:12px}
.ehf .ehf-big{font-size:clamp(4.2rem,13vw,7.5rem);font-weight:800;line-height:1;color:var(--ehf-accent);font-variant-numeric:tabular-nums;letter-spacing:-.04em;min-width:2.2ch}
.ehf .ehf-unit{font-size:1.1rem;color:var(--ehf-muted);font-weight:500}
.ehf .ehf-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border:0;border-radius:99px;padding:0;margin:34px 0 10px;background:linear-gradient(to right,var(--ehf-accent) var(--p,50%),var(--ehf-line) var(--p,50%));cursor:pointer}
.ehf .ehf-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;background:var(--eh-orange);border:5px solid #fff;box-shadow:0 2px 12px rgba(95,1,207,.35);cursor:grab}
.ehf .ehf-range::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--eh-orange);border:5px solid #fff;box-shadow:0 2px 12px rgba(95,1,207,.35);cursor:grab}
.ehf .ehf-range:focus-visible{outline:3px solid var(--eh-orange);outline-offset:8px}
.ehf .ehf-scale{display:flex;justify-content:space-between;color:var(--ehf-muted);font-size:.85rem}

/* Country search */
.ehf .ehf-search{display:flex;align-items:center;gap:10px;border:2px solid var(--ehf-line);border-radius:14px;padding:0 14px;background:var(--ehf-surface);transition:border-color .15s;margin:0}
.ehf .ehf-search:focus-within{border-color:var(--ehf-accent)}
.ehf .ehf-search svg{width:20px;height:20px;color:var(--ehf-muted);flex:none}
.ehf .ehf-find{border:0;background:none;color:var(--ehf-ink);font-size:1rem;padding:14px 0;width:100%;outline:none;height:auto}
.ehf .ehf-list{margin-top:12px;max-height:310px;overflow-y:auto;border-radius:14px;overscroll-behavior:contain}
.ehf .ehf-group{font-size:.8rem;color:var(--ehf-muted);font-weight:600;padding:12px 12px 6px}
.ehf .ehf-opt{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:none;color:var(--ehf-ink);text-align:left;cursor:pointer;font-size:.98rem}
.ehf .ehf-opt:hover{background:var(--ehf-soft);color:var(--ehf-ink)}
.ehf .ehf-opt.is-on{background:var(--ehf-soft);font-weight:600}
.ehf .ehf-flag{font-size:1.35rem;line-height:1;width:1.6em;text-align:center}
.ehf .ehf-opt .ehf-tick{position:static;margin-left:auto}
.ehf .ehf-empty{color:var(--ehf-muted);padding:14px 12px;margin:0}

/* Country picked, governorate follow-up */
.ehf .ehf-picked{display:inline-flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;background:var(--ehf-soft);border-radius:14px;margin-bottom:20px}
.ehf .ehf-picked b{font-weight:600}
.ehf .ehf-change{background:none;border:0;color:var(--ehf-accent);font-weight:600;cursor:pointer;padding:6px 10px;border-radius:10px}
.ehf .ehf-change:hover{background:var(--ehf-surface);color:var(--ehf-accent)}
.ehf .ehf-sublabel{font-weight:600;font-size:1.05rem;margin:0 0 10px}
.ehf .ehf-list.is-short{max-height:250px}

/* Icon cards */
.ehf .ehf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.ehf .ehf-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 18px;border:2px solid var(--ehf-line);border-radius:18px;background:var(--ehf-surface);color:var(--ehf-ink);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,transform .12s;width:auto}
.ehf .ehf-card:hover{border-color:var(--ehf-accent);background:var(--ehf-surface);color:var(--ehf-ink)}
.ehf .ehf-card:active{transform:scale(.98)}
.ehf .ehf-card>svg{width:32px;height:32px;color:var(--ehf-accent)}
.ehf .ehf-card-l{font-weight:600;font-size:.98rem}
.ehf .ehf-card.is-on{border-color:var(--ehf-accent);background:var(--ehf-soft)}
.ehf .ehf-cards.is-big{grid-template-columns:1fr 1fr;max-width:460px}
.ehf .ehf-cards.is-big .ehf-card{align-items:center;padding:32px 18px 24px}
.ehf .ehf-cards.is-big .ehf-card>svg{width:64px;height:64px;stroke-width:1.5}
.ehf .ehf-cards.is-big .ehf-card-l{font-size:1.1rem}
.ehf .ehf-tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--ehf-accent);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.4);transition:opacity .15s,transform .2s}
.ehf .ehf-tick svg{width:14px;height:14px;stroke-width:3}
.ehf .is-on>.ehf-tick{opacity:1;transform:none}

/* English level */
.ehf .ehf-levels{display:grid;gap:10px;max-width:520px}
.ehf .ehf-level{display:flex;align-items:center;gap:18px;width:100%;padding:14px 18px;border:2px solid var(--ehf-line);border-radius:16px;background:var(--ehf-surface);color:var(--ehf-ink);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
.ehf .ehf-level:hover{border-color:var(--ehf-accent);background:var(--ehf-surface);color:var(--ehf-ink)}
.ehf .ehf-level.is-on{border-color:var(--ehf-accent);background:var(--ehf-soft)}
.ehf .ehf-bars{display:flex;align-items:flex-end;gap:3px;height:22px;flex:none}
.ehf .ehf-bars i{display:block;width:6px;border-radius:2px;background:var(--ehf-line)}
.ehf .ehf-bars i:nth-child(1){height:7px}.ehf .ehf-bars i:nth-child(2){height:12px}.ehf .ehf-bars i:nth-child(3){height:17px}.ehf .ehf-bars i:nth-child(4){height:22px}
.ehf .ehf-bars i.on{background:var(--eh-orange)}
.ehf .ehf-level-t b{display:block;font-weight:600}
.ehf .ehf-level-t small{color:var(--ehf-muted);font-size:.85rem}

/* Last screen: two either/or questions */
.ehf .ehf-pairq{margin-bottom:22px}
.ehf .ehf-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:480px}
.ehf .ehf-pair{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 12px;border:2px solid var(--ehf-line);border-radius:14px;background:var(--ehf-surface);color:var(--ehf-ink);font-weight:600;font-size:.95rem;cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s}
.ehf .ehf-pair:hover{border-color:var(--ehf-accent);background:var(--ehf-surface);color:var(--ehf-ink)}
.ehf .ehf-pair.is-on{border-color:var(--ehf-accent);background:var(--ehf-soft)}
.ehf .ehf-pair svg{width:24px;height:24px;color:var(--ehf-accent);flex:none}

/* Inclusion checklist (old) */
.ehf .ehf-checklist{display:grid;gap:8px;max-width:580px}
.ehf .ehf-row{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;border:2px solid var(--ehf-line);border-radius:14px;background:var(--ehf-surface);color:var(--ehf-ink);text-align:left;cursor:pointer;font-size:.95rem;transition:border-color .15s,background-color .15s}
.ehf .ehf-row:hover{border-color:var(--ehf-accent);background:var(--ehf-surface);color:var(--ehf-ink)}
.ehf .ehf-row.is-on{border-color:var(--ehf-accent);background:var(--ehf-soft)}
.ehf .ehf-box{width:22px;height:22px;border-radius:7px;border:2px solid var(--ehf-line);display:grid;place-items:center;flex:none;color:#fff;transition:background-color .15s,border-color .15s}
.ehf .ehf-box svg{width:14px;height:14px;stroke-width:3;opacity:0}
.ehf .ehf-row.is-on .ehf-box{background:var(--ehf-accent);border-color:var(--ehf-accent)}
.ehf .ehf-row.is-on .ehf-box svg{opacity:1}
.ehf .ehf-sep{height:1px;background:var(--ehf-line);margin:6px 0}
.ehf .ehf-support{margin-top:16px;max-width:580px}
.ehf .ehf-support label{display:block;font-size:.92rem;font-weight:500;margin-bottom:8px}
.ehf .ehf-support label span{color:var(--ehf-muted);font-weight:400}
.ehf .ehf-text{width:100%;border:2px solid var(--ehf-line);border-radius:14px;padding:12px 14px;background:var(--ehf-surface);color:var(--ehf-ink);resize:vertical;line-height:1.5}
.ehf .ehf-text:focus{border-color:var(--ehf-accent);outline:none}
.ehf .ehf-consent{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:14px 16px;background:var(--ehf-soft);border-radius:14px;cursor:pointer;line-height:1.5;font-size:.88rem;max-width:580px}
.ehf .ehf-consent input{width:20px;height:20px;accent-color:var(--eh-purple);flex:none;margin-top:2px}
.ehf .ehf-consent a{color:var(--ehf-accent);font-weight:600}

/* Boarding pass */
.ehf .ehf-ticket{position:sticky;top:20px;background:var(--ehf-surface);color:var(--ehf-ink);border:1px solid var(--ehf-line);border-radius:22px;overflow:hidden;box-shadow:0 24px 50px -30px rgba(95,1,207,.4)}
.ehf .ehf-tk-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:var(--eh-purple);color:#fff}
.ehf .ehf-tk-brand{font-weight:700;font-size:1rem}
.ehf .ehf-tk-kind{font-size:.8rem;opacity:.85}
.ehf .ehf-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:22px 22px 18px}
.ehf .ehf-route small{display:block;font-size:.72rem;color:var(--ehf-muted);margin-bottom:2px}
.ehf .ehf-code{font-size:2.7rem;font-weight:800;color:var(--eh-purple);line-height:1;letter-spacing:.02em;display:block}
.ehf .ehf-place{font-size:.8rem;color:var(--ehf-muted);margin-top:4px;display:block;min-height:1.2em}
.ehf .ehf-route-mid{display:flex;align-items:center;gap:6px}
.ehf .ehf-route-mid svg{width:22px;height:22px;color:var(--eh-orange);transform:rotate(45deg)}
.ehf .ehf-route-mid span{display:block;width:22px;border-top:2px dashed var(--ehf-line)}
.ehf .ehf-to{text-align:right}
.ehf .ehf-to b{font-size:1.05rem;font-weight:700;line-height:1.25;display:block}
.ehf .ehf-perf{position:relative;border-top:2px dashed var(--ehf-line);margin:0 18px}
.ehf .ehf-perf::before,.ehf .ehf-perf::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--ehf-bg);border:1px solid var(--ehf-line)}
.ehf .ehf-perf::before{left:-31px}.ehf .ehf-perf::after{right:-31px}
.ehf .ehf-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;padding:20px 22px;margin:0}
.ehf .ehf-fields div{min-width:0}
.ehf .ehf-fields dt{font-size:.72rem;color:var(--ehf-muted);margin:0 0 2px;font-weight:400}
.ehf .ehf-fields dd{margin:0;font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ehf .is-new{animation:ehfFlash .7s ease}
@keyframes ehfFlash{from{color:var(--eh-orange)}}
.ehf .ehf-barcode{height:46px;margin:0 22px 22px;opacity:.75;background:repeating-linear-gradient(90deg,var(--ehf-ink) 0 2px,transparent 2px 5px,var(--ehf-ink) 5px 6px,transparent 6px 9px,var(--ehf-ink) 9px 12px,transparent 12px 14px)}
.ehf .ehf-stamp{position:absolute;right:20px;bottom:84px;border:3px solid var(--ehf-stamp);color:var(--ehf-stamp);background:rgba(255,255,255,.85);padding:6px 14px;border-radius:10px;font-weight:800;font-size:1.05rem;transform:rotate(-12deg) scale(2.2);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.2,1.4,.4,1),opacity .2s}
.ehf .ehf-ticket.is-cleared .ehf-stamp{opacity:1;transform:rotate(-12deg) scale(1)}

/* Modal (WordPress only) */
html.ehf-lock{overflow:hidden}
.ehf-modal{position:fixed;inset:0;z-index:999999;background:rgba(26,11,46,.45);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(4vh,env(safe-area-inset-top,0px)) 12px 4vh}
.ehf-modal[hidden]{display:none}
.ehf-modal .ehf-modal-inner{position:relative;max-width:1060px;margin:0 auto;background:var(--ehf-bg);border-radius:26px;padding-top:48px}
.ehf-modal .ehf-close{position:absolute;top:10px;right:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:var(--ehf-surface);color:var(--ehf-ink);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(26,11,46,.15);padding:0;margin:0}
.ehf-modal .ehf-close:focus-visible{outline:3px solid var(--eh-orange);outline-offset:2px}

@media (max-width:820px){
  .ehf{grid-template-columns:1fr;padding:12px 14px 32px;gap:18px}
  .ehf .ehf-panel{padding:24px 20px;min-height:0}
  .ehf .ehf-ticket{position:relative;top:0}
  .ehf-modal{padding-left:6px;padding-right:6px}
}
@media (prefers-reduced-motion:reduce){
  .ehf *,.ehf *::before,.ehf *::after{animation:none!important;transition:none!important}
}
